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

TM1300PCI-XIO口的UART和USB接口设计

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-11 00:01:44
TM1300与USB9604连接的原理图如图6所示。

在TM1300通过XIO口对USB芯片进行读写的过程中,要特别注意时序问题。虽然TM1300的XIO接口和USB芯片能够实现硬件上的无缝连接,但两者在读写数据的时序上并不匹配。TM1300在发起XIO总线读写操作时,在片选信号有效期间,地址和数据是同时发向USB芯片时;而USB芯片需要先接收一个地址,再对相应地址读写数据,地址与数据是分时的。对于TM1300的读写操作,USB芯片无法将地址和数据区分开来,即两个芯片的读写时序不匹配。本文利用TM1300的PCI_AD0引脚来控制USBN9604的A0,当PCI_AD0为1时,表示写入USBN9604的是地址;当PCI_AD0为0时,表示真正的数据通信。具体的编程语句如下:

void write_usb(BYTE address,BYTE data)

{xioWrite(USB基地址+0x000001,address);

xioWrite(USB基地十+0x000000,data);}

BYTE read_usb(BYTEaddress)

{xio Write(USB基地址+0x000001,address);

return(BYTE)xioRead(USB基地址+0x000000);}

对UART的读写,则不用考虑时序问题,使用如下语句即可。

xioWrite(UART基地址+UART寄存器地址,data);
javascript:window.open(this.src);" style="cursor:pointer;"/>
    1.3 外部中断设计

TM1300除了内部模块中断之外,还提供了5个外部中断输入引脚:PCI-INTA/B/C/D和TR1_USERIRQ,前四个中断引脚推荐为电平触发模式,在不用作中断输入时,可以配置为通用I/O引脚,TRI_USERIRQ适合于电平触发或者边沿触发模式。

在本文的硬件设计中,PCI-INTB在PCI-XIO总线激活时,作为XIO总线的全局使能信号;UART芯片利用TRI_USERIRQ引脚向TM1300发中断请求;PCI-INTD用于UART通信接口板上USB芯片的中断请求;PCI-INTC保留未用,可用作以后的扩展。

由于ST16C550的中断输出引脚和TM1300的TRI-USERIRQ中断输入引脚都工作在正逻辑模式,两者可以直接连接。对于ST16C550这样可以同时发生多个中断条件的外部设备,INT-USERIRQ应该工作在电平触发模式。

1.4 PCI-XIO总线复用

本文设计的硬件系统中,通过PCI-XIO总线连接到TM1300的外部设备有三个:Flash、ST16C550和USB9604。为了这三个设备能够同时正常工作,必须加入地址译码芯片以复用PCI-XIO总线。javascript:window.open(this.src);" style="cursor:pointer;"/>

由于Flash占用4MB的地址空间,可以考虑将16MB的XIO空间划分为4个4MB的地址块,利用XIO地址线的高2位作地址译码。

本文选择的地址译码芯片是常见的三-八译码器,原理图如图7所示。这里将XIO总线的全局使能信号PCI-INTB作为74138的使能信号。XIO逻辑激活期间,XIO地址线AD[23、22]的值决定了三个外部设备中的一个片选信号有效。由图7可见,Flash的基地址为0x000000,USB9604的基地址为0x800000,ST16C550的基地址为0xC00000。

2 总结

本文通过PCI-XIO接口为TM1300硬件平台实现串行接口和USB接口,在硬件上实现了带有串行通信接口和USB接口的TM1300编码板。

接下来的工作是为TM1300实现一个WLAN通信接口,使得以TM1300为硬件平台的编码器可以用于高速无线网络平台。



上一页  [1] [2] 

Tags:

作者:佚名

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

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