datasheet

利用异步通信芯片16C552实现PC机与DSP的串行通讯

2007-03-09来源: 互联网关键字:利用  实现  串行通讯
摘要:介绍了异步通信芯片16C552的功能、特点、结构和内部寄存器,给出了用16C552芯片实现PC机与DSP串行通讯的方法,同时给出了它们之间的硬件接口电路和软件初始化程序。 关键词:16C552;串行通讯;异步 当实现PC机与DSP的串行通讯时,通常可直接利用DSP的串行通讯接口(SCI)模块和SCI多处理器通讯协议(即空闲线路模式和地址位模式)来在同一串行线路中实现多个处理器之间的通讯,也可以采用SCI异步通讯模式实现串行通讯。这两种方式虽然都能方便地实现串行通讯,但它们都需占用系统较多的硬件和软件资源, 因而不适用于对实时性要求比较高且系统资源紧张的应用场合。笔者在研制电力有源滤波实验系统中,由于采用了异步通讯芯片16C552,从而成功解决了这个问题。本文将从电路结构和软件编程两个方面介绍该方案的实现方法。 1 16C552简介 1.1 功能特点及结构框图 16C552是TI(TL16C552)和VLSI(VL16C552)等公司生产的异步通信芯片,具有两个增强的通用异步通讯单元通道和一个增强的双向打印机端口;支持TL16C450和FIFO两种模式,其16字节的FIFO可减少CPU中断;每个通道都具有独立的发送、接收、线路状态和设置中断功能,同时具有独立的MO-DEM控制信号、可编程的串行数据发送格式(包括数据位长度、校验方式、停止位长度)和可编程波特率发生器;另外,每个通道的数据和控制总线还具有三态TTL驱动功能。 TL16C552AM是TI公司的68脚PLCC(Plastic Leaded Chip Carrier)封装芯片,其管脚及功能框图如图1所示。从图中可以看出,它的串行口主要完成两个功能,一是把外设或调制解调器接收来的串行数据转换成并行数据;二是把CPU的并行数据转换成串行数据以便发送。在正常操作过程中,CPU可以随时读取16C552的状态信息,以报告16C552传输操作的类型和状态,包括各种错误状态,如奇偶校验、溢出、帧错误和FIFO错误等。此外,16C552还具有完整的MODEM控制功能,并有CTS、RTS、DSR、DTR、RI、DCD等信号端。 16C552具有一套完善的中断系统,可以自动设定优先级。它的串行口和并行口都可以独立地工作于中断和查询两种工作方式。 1.2 16C552的内部寄存器 16C552内部有12个单字节寄存器,这些寄存器占用了8个I/O口地址,其地址由A0~A2决定。其中有些寄存器共用一个I/O口地址,共用的I/O口可以通过读/写信号和线路控制寄存器(LCR)的D7位(DLAB)来进行区分,具体描述见表1所列,需要说明的是:只有当16C552的CS0或CS1为低电平时,串行通道才能被访问。 表1 I6C552的内部寄存器 DLAB A2 A1 A0 符 号 寄 存 器 L L L L RBR 接收缓冲寄存器 L L L H THR 发送保持寄存器 L L L L IER 中断允许寄存器 X L H H IIR 中断识别寄存器 X L H L FCR FIFO控制寄存器 X L H H LCR 线路控制寄存器 X H L L MCR MODE控制寄存器 X H L H LSR 线路状态寄存器 X H H L MSR MODEM状态寄存器 X H H H SCR 高速缓存器寄存器 H L L L DLL 除数锁存器低位 H L L H DLM 除数锁存器高位 关于各寄存器内容的具体规定,限于篇幅,这里不作详述,有兴趣者可参看TI公司的相关产品资料介绍,但在串行通讯应用中,要重点搞清楚FCR、LCR、IER等几个寄存器的内容。此外,在实际应用中,有时可能会忽视MODEM控制寄存器中的D4位,该位为自测试循环回送状态控制位,利用它可以对串口的自测试进行控制,因此,在自测试进行完毕后,还应对该位进行复位,以保证系统的正常运行。 2 通讯系统硬件接口电路 本系统的硬件接口电路如图2所示。其中,地址译码电路可以根据实际需要采用不同的电路实现。为了使系统使用灵活方便,本方案中采用一片CPLD来进行系统的地址分配。复位电路可以利用专用复位芯片,也可用上拉电阻方式实现。外接晶振可以自行选择,然后根据晶振频率设置除数锁存器的高位和低位,从而获得通讯系统正确的波特率,本系统中使用的晶振是8MHz。此外,由于16C552A有两个串行通道和一个标准并行口,它们相互之间的配合使用在硬件和软件上都要加以注意。建议将不用端口的片选接到高电平(16C552A的片选为低电平有效),以免出现错误。 3 串行通讯软件设计 3.1 通讯协议 本设计的通讯协议包括以下几点: (1)波特率为9600。 (2)通讯命令由2个字节构成:第一个字节是同步字节0XFF;第二个字节是命令码,主要用来指示各种控制命令。 (3)每个字节包括8位数据位和1位停止位,无校验。 (4)在通讯过程中,上位机向TMS320F243发送同步命令,TMS320F243接收到后立即应答,若应答错误则重发。 (5)通讯程序向TMS320F243发送控制命令时,TMS320F243返回接收正确应答信号;通讯程序向TMS320F243查询系统参数命令时,TMS320F243按照规定格式返回所需数据。 PC机和TMS320F243均采用异步通讯方式,PC机采用事件驱动方式来接收数据,TMS320F243采用中断方式接收数据,而用查询方式发送数据。 3.2 上下位机通讯软件设计 在PC机上编写串行通讯程序至少有三种方法,分别为汇编语言、C语言和Visual系列通讯控件(MSComm)。相比较而言,Visual系列通讯控件能够用少量的代码轻松高效地完成编程任务。实际应用中,可用以Visual Basic(简称VB)6.0中的通讯控件MSComm为基础编写PC机的串行通讯程序,而用汇编语言编写下位机(F243)软件。上、下位机的串口程序流程分别如图3和图4所示。 16C552的初始化程序如下: ;THE 16C552 INITIALIZATION PROGRAM C552_INIT: LDP #00h SPLK #83h,GSR0 OUT GSR0,0E003h ;设置LCR SPLK #34h,GSR0 OUT GSR0,0E000h ;设置DLL SPLK #00h,GSR0 OUT GSR0,0E001h ; 设置DLM SPLK #03h,GSR0 OUT GSR0,0E003h ; 设置LCR SPLK #08h,GSR0 OUT GSR0,0E004h ; 设置MCR SPLK #01h,GSR0 OUT GSR0,0E002h ; 设置FCR SPLK #01h,GSR0 OUT GSR0,0E001h  ;设置IER RET 图4 4 结束语 本文对使用异步通信芯片16C552实现PC机与DSP之间的串行通讯方法进行了研究,笔者已开发了其串行通讯软件,并在实验中调试通过。该软件不仅使用灵活方便,而且可以利用16C552的FIFO模式实现大数据量的收发,从而减少了对DSP的中断,缓解了系统资源紧张的情况。

关键字:利用  实现  串行通讯

编辑: 引用地址:http://news.eeworld.com.cn/gykz/GYTX/200703/334.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:IIC总线通讯接口器件的CPLD实现
下一篇:基于PC/104的多串口通讯的设计

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

英伟达利用深度神经网络 精确探测车辆与其他物体间距离

(图片来源:英伟达官网)据外媒报道,在汽车上路之前,汽车需要具备的第一个基本能力就是判断该车与相邻汽车或是遇到的物体之间的距离。但是,当路上有事情打断时,甚至有电话打过来时,驾驶员的注意力往往会被分散。为了克服该问题,英伟达的研究人员提出了一个利用神经网络的解决方案。英伟达利用深度神经网络,从单个摄像头中提取数据,探测物体距离。可能有人会问为什么英伟达不利用大多数汽车上配备的双摄像头,提高物体距离检测效率,英伟达有充分的理由不这么做,因为虽然双摄像头能够主动判断各种参数,但是,如果其中一个摄像头不同步,就会导致“时间失调”的情况,从而得出不准确的探测结果,在危险情况下可能会导致严重的生命财产损害。英伟达利用基于雷达和激光雷达传感器
发表于 2019-07-19
英伟达利用深度神经网络 精确探测车辆与其他物体间距离

STM32F401利用CubeMX实现按键中断翻转LED

硬件平台:NucleoF401RE软件环境:CubeMX+Kiel5硬件说明:参考Nucleo板子原理图,用户按键链接IO为PC13,LED链接IO为PA5;如上搞清楚资源链接关系,就可以利用CubeMX进行初始化代码生成配置,比较简单。需要注意的是在中断嵌套部分需要设置外部中断10-15LINES;利用CubeMX工具生产代码,下面对部分代码进行说明。CubeMX生成初始化代码配置后,用户字需要添加自己业务需要的功能即可。中断函数全部在stm2f4xx_it.c当中,如下所示
发表于 2019-07-18
STM32F401利用CubeMX实现按键中断翻转LED

技术文章—了解如何利用设计改善散热问题

对于电子设备来说,工作时都会产生一定的热量,从而使设备内部温度迅速上升,如果不及时将该热量散发出去,设备就会持续的升温,器件就会因过热而失效,电子设备的可靠性能就会下降。因此,对电路板进行很好的散热处理是非常重要的。1、加散热铜箔和采用大面积电源地铜箔。根据上图可以看到:连接铜皮的面积越大,结温越低根据上图,可以看出,覆铜面积越大,结温越低。2、热过孔热过孔能有效的降低器件结温,提高单板厚度方向温度的均匀性,为在PCB背面采取其他散热方式提供了可能。通过仿真发现,与无热过孔相比,在器件热功耗为2.5W、间距1mm、中心设计6x6的热过孔能使结温降低4.8°C左右,而PCB的顶面与底面的温差由原来的21°C减低到5°C。热过孔阵列改为
发表于 2019-07-12
技术文章—了解如何利用设计改善散热问题

利用AI和3D打印汽车组件,这种方式有何好处?

通过融合人工智能和顶尖的3D打印技术,大众有望颠覆汽车组件的制造方式。目前正在测试的新技术不仅能够有效减少汽车重量,而且在为未来车型设计特殊零件提供了极大的灵活性。隶属于大众集团,最近更名为加州创新和工程中心(IECC)近日用电气现代化重新诠释了1962年款Microbus。 此外在本次展示中,大众Type 20概念车吸引了众多媒体的眼球。它的核心元素就是用3D打印的橙色轮毂、两侧后视镜支架、方向盘和其他组件。而且这些产品并非是人类设计的,而是由人工智能在Generative Design过程中所创造的。  人工智能的优势在于能够快速了解工程师在设计过程中优先考虑的东西--结构强度、易于生产和轻量化设计
发表于 2019-07-10
利用AI和3D打印汽车组件,这种方式有何好处?

FBI和ICE利用驾照照片进行面部识别 是否会泄露隐私

不管公众有没有注意到,事实上不少城市与企业都已经逐渐放弃使用面部识别技术。然而,联邦机构却在积极应用这项技术。                                                乔治城大学法学院的研究人员以及《华盛顿邮报》发现,美国联邦调查局(FBI)和移民海关执法局(ICE)一直在利用州车管局的照片作为面部识别数据库。这些机构扫描了数亿张照片,建立了一个
发表于 2019-07-09
FBI和ICE利用驾照照片进行面部识别 是否会泄露隐私

Waymo已获加州许可证 可利用自动驾驶汽车接载乘客

据外媒CNET报道,随着Waymo继续在凤凰城地区测试其Waymo One商业服务,该公司的目标是该服务能进一步扩展。现在,Waymo已获得了加州公用事业委员会(CPUC)的新许可证,距离其实现这一目标又近了一步。据TechMrunch  周二报道,Waymo从CPUC获得的许可证允许该公司加入加州自动驾驶客车服务试点计划,Waymo随后确认了这一消息。在此之前,Waymo不被允许在加州运送乘客,但现在该公司已成为CPUC试点项目的一部分。Waymo发言人在一份电子邮件声明中说道:“CPUC许可证允许我们参与他们的试点计划,让Waymo员工能够拦下我们的车辆并让南湾地区的乘客乘坐我们的汽车。这是我们最终扩展并为更多加利
发表于 2019-07-03
Waymo已获加州许可证 可利用自动驾驶汽车接载乘客

小广播

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved