1 概述由于在某些通讯设计应用中,需要扩展更多的串口数量,比如车床监控、纺织仪器检测和网状连接的数据采集等应用。为此成都国腾微电子有限公司推出的GM814x 可以满足多个同类产品的并联扩展,并且能简单的实现电路连接和程序控制,主MCU 可以识别数据的来源和指定和某个GM814x 通信。2 应用说明2.1 CS 与SPI 的数据通信GM814x 的CS(片选)引脚可用于控制SPI 总线时钟有效性,CS 低电平有效,内部下拉。CS 有效时,允许芯片的时钟接收和数据收发;无效时,SCLK、DIN 和DOUT 均为高阻状态,GM814x 不响应SPI 上的数据收发,但能正常收发子串口数据和产生相应中断。2.2 应用建议当使用GM814x 的应用需要扩展4 个以上的串口数量时,就需要使用2 片以上的GM814x。扩展的方式也有多种。方式一:将多个GM814x 的SPI 接口接在主MCU 的SPI 总线上,然后将所有GM814x 的中断进行线与后连接到MCU 的IRQ 上,同时将各GM814x 的IRQ 输出又连接到MCU的IO,以便MCU响应中断后检测是具体哪一个GM814x 输出的中断,然后再拉低对应的CS,拉高其它GM814x的CS,并执行通信操作。方式二:如果扩展的GM814x 数量较多,采用上述扩展方式可能会占用MCU较多的IO 资源,则可以将GM814x 的中断输出连接到具有OC 输出的与门芯片上,再输出到MCU 的中断输入。同时又将所有的GM814x 的中断输出进行编码输入到MCU,以供其判断产生中断的是哪一个GM814x。方式三:将所有GM814x 的中断输出连接到优先编码器进行编码输出,同时编码器也能输出低电平信号给MCU 作为中断响应。MCU 检测编码数据以获知产生中断的GM814x,然后进行数据通信处理。这种方式电路最简单,占用MCU 的IO 资源也最少。 举例:使用MCS51 单片机扩展8 片GM814x。本电路中,采用了上述提到的第三种扩展方式。通过普通的MCS51 单片机扩展最多8 片GM814x,可扩展最多32 个标准串口。为了节省MCU的IO 资源,电路中增加了一片8-3 线优先编码器74LS348 和一片3-8 线译码器74HC138。8 片GM814x 的IRQ 中断通过一片74LS348 输出中断源向量,同时产生GS 低电平信号到MCS51 的外部中断0 上,MCS51 响应中断后,可查询A0~A2 的值确定产生中断的GM814x,然后MCU 使能74HC138,输出对应的ABC 信号选中产生IRQ 信号的GM814x,再进行SPI 总线上的数据通信。 示例程序:本示例程序使用C 语言描述,仅供参考。 由于74LS348 是优先编码器,多个中断同时产生的时候,74LS348 的编码只会指示输入编号上最高的IRQ,MCU 无法直接获知是否其它的GM814x 也产生了中断。同时GM814x 在自己的中断申请后,数据传输到第8bit 时会自动清除,所以数据接收完后如果MCU 的中断引脚仍然为低,则表示还有其它GM814x 的中断申请,故必须在处理完当前中断后继续查询新的中断向量。这就是上述示例程序中while 循环的目的。 以上应用建议仅供设计者参考,不代表最终实现方式,更可靠和实际的实现方式可由设计者根据自己的实际情况确定。l 示例中的数据、参数和标志字命名不代表实际产品的特性,请参考实际产品的数据手册来获取你所需要的数据。
上传时间: 2013-10-26
上传用户:suicoe
用C 语言来开发单片机系统软件最大的好处是编写代码效率高、软件调试直观、维护升级方便、代码的重复利用率高、便于跨平台的代码移植等等,因此C 语言编程在单机系统设计中已得到越来越广泛的运用。针对PIC 单片机的软件开发,同样可以用C 语言实现。但在单片机上用C 语言写程序和在PC 机上写程序绝对不能简单等同。现在的PC 机资源十分丰富,运算能力强大,因此程序员在写PC 机的应用程序时几乎不用关心编译后的可执行代码在运行过程中需要占用多少系统资源,也基本不用担心运行效率有多高。写单片机的C 程序最关键的一点是单片机内的资源非常有限,控制的实时性要求又很高,因此,如果没有对单片机体系结构和硬件资源作详尽的了解,以笔者的愚见认为是无法写出高质量实用的C 语言程序。这就是为什么前面所有章节中的的示范代码全部用基础的汇编指令实现的原因,希望籍此能使读者对PIC 单片机的指令体系和硬件资源有深入了解,在这基础之上再来讨论C 语言编程,就有水到渠成的感觉。本书围绕中档系列PIC 单片机来展开讨论,Microchip 公司自己没有针对中低档系列PIC单片机的C 语言编译器,但很多专业的第三方公司有众多支持PIC 单片机的C 语言编译器提供,常见的有Hitech、CCS、IAR、Bytecraft 等公司。其中笔者最常用的是Hitech 公司的PICC 编译器,它稳定可靠,编译生成的代码效率高,在用PIC 单片机进行系统设计和开发的工程师群体中得到广泛认可。其正式完全版软件需要购置,但在其网站上有限时的试用版供用户评估。另外,Hitech 公司针对广大PIC 的业余爱好者和初学者还提供了完全免费的学习版PICC-Lite 编译器套件,它的使用方式和完全版相同,只是支持的PIC 单片机型号限制在PIC16F84、PIC16F877 和PIC16F628 等几款。这几款Flash 型的单片机因其所具备的丰富的片上资源而最适用于单片机学习入门,因此笔者建议感兴趣的读者可从PICC-Lite 入手掌握PIC 单片机的C 语言编程。
上传时间: 2013-11-12
上传用户:wfeel
PIC 单片机C 语言编程简介用C 语言来开发单片机系统软件最大的好处是编写代码效率高、软件调试直观、维护升级方便、代码的重复利用率高、便于跨平台的代码移植等等,因此C 语言编程在单片机系统设计中已得到越来越广泛的运用。针对PIC 单片机的软件开发,同样可以用C 语言实现。但在单片机上用C 语言写程序和在PC 机上写程序绝对不能简单等同。现在的PC 机资源十分丰富,运算能力强大,因此程序员在写PC 机的应用程序时几乎不用关心编译后的可执行代码在运行过程中需要占用多少系统资源,也基本不用担心运行效率有多高。写单片机的C 程序最关键的一点是单片机内的资源非常有限,控制的实时性要求又很高,因此,如果没有对单片机体系结构和硬件资源作详尽的了解,以笔者的愚见认为是无法写出高质量实用的C 语言程序。这就是为什么前面所有章节中的的示范代码全部用基础的汇编指令实现的原因,希望籍此能使读者对PIC 单片机的指令体系和硬件资源有深入了解,在这基础之上再来讨论C 语言编程,就有水到渠成的感觉。本书围绕中档系列PIC 单片机来展开讨论,Microchip 公司自己没有针对中低档系列PIC单片机的C 语言编译器,但很多专业的第三方公司有众多支持PIC 单片机的C 语言编译器提供,常见的有Hitech、CCS、IAR、Bytecraft 等公司。其中笔者最常用的是Hitech 公司的PICC 编译器,它稳定可靠,编译生成的代码效率高,在用PIC 单片机进行系统设计和开发的工程师群体中得到广泛认可。其正式完全版软件需要购置,但在其网站上有限时的试用版供用户评估。另外,Hitech 公司针对广大PIC 的业余爱好者和初学者还提供了完全免费的学习版PICC-Lite 编译器套件,它的使用方式和完全版相同,只是支持的PIC 单片机型号限制在PIC16F84、PIC16F877 和PIC16F628 等几款。这几款Flash 型的单片机因其所具备的丰富的片上资源而最适用于单片机学习入门,因此笔者建议感兴趣的读者可从PICC-Lite 入手掌握PIC 单片机的C 语言编程。
上传时间: 2013-11-17
上传用户:15527161163
1 /**————————————————————2 〖说明〗I2C总线驱动程序(用两个普通IO模拟I2C总线)3 包括100Khz(T=10us)的标准模式(慢速模式)选择,4 和400Khz(T=2.5us)的快速模式选择,5 默认11.0592Mhz的晶振。6 〖文件〗PCF8563T.C ﹫2001/11/2 77 〖作者〗龙啸九天 c51@yeah.net http://www.c51bbs.co /8 〖修改〗修改建议请到论坛公布 http://www.c51bbs.co m9 〖版本〗V1.00A Build 080310 —————————————————————*/1112 #ifndef SDA13 #define SDA P0_014 #define SCL P0_115 #endif1617 extern uchar SystemError;1819 #define uchar unsigned char20 #define uint unsigned int21 #define Byte unsigned char22 #define Word unsigned int23 #define bool bit24 #define true 125 #define false 02627 #define SomeNOP(); _nop_();_nop_();_nop_();_nop_();2829 /**--------------------------------------------------------------------------------30 调用方式:void I2CStart(void) ﹫2001/07/0 431 函数说明:私有函数,I2C专用32 ---------------------------------------------------------------------------------*/33 void I2CStart(void)34 {35 EA=0;36 SDA=1; SCL=1; SomeNOP();//INI37 SDA=0; SomeNOP(); //START38 SCL=0;39 }4041 /**--------------------------------------------------------------------------------42 调用方式:void I2CStop(void) ﹫2001/07/0 443 函数说明:私有函数,I2C专用44 ---------------------------------------------------------------------------------*/45 void I2CStop(void)46 {47 SCL=0; SDA=0; SomeNOP(); //INI48 SCL=1; SomeNOP(); SDA=1; //STOP49 EA=1;50 }5152 /**--------------------------------------------------------------------------------53 调用方式:bit I2CAck(void) ﹫2001/07/0 454 函数说明:私有函数,I2C专用,等待从器件接收方的应答55 ---------------------------------------------------------------------------------*/56 bool WaitAck(void)57 {58 uchar errtime=255;//因故障接收方无ACK,超时值为255。59 SDA=1;SomeNOP();60 SCL=1;SomeNOP();61 while(SDA) {errtime--; if (!errtime) {I2CStop();SystemError=0x11;return false;}}62 SCL=0;63 return true;
上传时间: 2014-04-11
上传用户:xg262122
SOPC开发快速入门教程中文版,很不错的资料,建议学习。
上传时间: 2013-11-19
上传用户:竺羽翎2222
Actel、Altera、Lattice Semiconductor和Xilinx是目前业界最主要的四大FPGA供应商,为了 帮助中国的应用开发工程师更深入地了解FPGA的具体设计诀窍,我们特别邀请到了Altera系统应用 工程部总监Greg Steinke、Xilinx综合方法经理Frederic Rivoallon、Xilinx高级技术市场工程师 Philippe Garrault、Xilinx产品应用工程部高级经理Chris Stinson、Xilinx IP解决方案工程部总 监Mike Frasier、Lattice Semiconductor应用工程部总监Bertrand Leigh和软件产品规划经理Mike Kendrick、Actel公司硅产品市场总监Martin Mason和应用高级经理Jonathan Alexander为大家传经 授道。 他们将就一系列大家非常关心的关键设计问题发表他们的独到见解,包括:什么是目前FPGA应用工 程师面对的最主要设计问题?如何解决?当开始一个新的FPGA设计时,你们会推荐客户采用什么样 的流程?对于I/O信号分布的处理,你们有什么建议可以提供 给客户?如果你的客户准备移植到另外一个FPGA、ASIC和结构化ASIC之间进行抉择?(下)">结构化 ASIC或ASIC,你会建议你的客户如何做?
上传时间: 2013-11-09
上传用户:xinshou123456
PLD、FPGA优秀设计的十条戒律, 该文浅显易懂的介绍了一个优秀设计必须考虑的问题,给出了设计方法和建议。仔细阅读和消化本文,对提高PLD/FPGA设计水平大有裨益
上传时间: 2013-11-23
上传用户:tsfh
由于Virtex-5 器件的基础架构与以往的FPGA 器件不同,因此,要为特定设计选择合适的Virtex-5 器件并非易事。大多数情况下,设计应采用类似的阵列大小(器件数量)并且比以前的目标器件至少低一个速度级别(如从中速级别到慢速级别)。但是,这种建议对于有些情况却并不适用。本节将介绍一些会影响Virtex-5 FPGA 器件选择标准的设计风格和特征。
上传时间: 2013-10-18
上传用户:yuyizhixia
容迟/容延网络(Delay Tolerant Network/DTN)泛指由于节点移动、能量管理、调度等原因而出现频繁中断、甚至长时间处于中断状态的一类网络。针对DTN具有的时延高、割裂频繁、节点能量受限、以及节点移动性等特点,通过对DTN中基于复制策略的单播路由策略进行分类和比较,提出了如何优化DTN单播路由算法、提高网络传输率的建议。
上传时间: 2013-11-24
上传用户:xiaojie
嵌入式控制器软件安全性、可靠性测试方法及标准建议
上传时间: 2013-11-14
上传用户:萍水相逢