用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

TMS320C32扩展异步串口的方法

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 23:54:08
相应的接口逻辑使用AHDL语言描述,具体如下:

TL16C550A一共使用8个地址对内部寄存器进行访问和控制。相对DSP C32系统而言,如果使用了上面的译码逻辑电路,则占用的8个地址为:0X818000~0X818007。

TLl6C550A串行接口寄存器的寻址表如表1所示。

表1 TL16C550A的寄存器寻址表

DLAB*A2  A1  A0寄  存  器  名 属 性 地址值 
00   0   0接收缓冲寄存器RBR 只读 0X818000 
00   0   0发送缓冲寄存器TBR 只写 0X818000 
00   0   1中断使能寄存器IER 读/写 0X818001 
X0   1   0中断标志寄存器IIR 只写 0X818002 
X0   1  0FIFO控制寄存器FCR 只写 0X818002 
X0   1   1线路控制寄存器LCR 读/写 0X818003 
X1   0  0MODEM控制寄存器MCR 读/写 0X818004 
X1   0   1线路状态寄存器LSR 读/写 0X818005 
X1   1   0MODEM状态寄存器MSR 读/写 0X818006 
X1   1   1便签寄存器SCR 读/写 0X818007 
10   0   0除数低字节锁存器DLL 读/写 0X818000 
10   0   1除数低字节锁存器DLH 读/写 0X818001 

DLAB表示线路控制寄存器的第7位的逻辑值。

在程序中,使用逻辑地址0X818000~0X818007对TLl6C550A的各个寄存器进行寻址就可以了。

本文介绍的三种实现C32异步串行口的方法,前两种方法使用不是非常方便,而且占用了大量的C32系统资源,一般都使用第三种方法来实现C32和PC机之间的通信。

使用TL16C550实现DSP和PC机的通信,接口方便、控制简单、编程灵活,试验证明它是非常简便可靠的实现方法。



上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:593.75000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号