TM1300 PCI-XIO口的UART和USB接口设计
位(7)为1时,允许XIO总线操作;高6位(31:26)定义了XIO空间的基地址;时钟频率位(4:0)用来定制内部时钟;等待状态(10:8)用来支持慢速外部XIO设备操作。
TM1300初始化后,PCI-XIO总线默认为普通PCI模式。若MMIO里XIO-CTL寄存器的使能位被置位,并且TM1300寻址到XIO地址空间,XIO总线控制器就被激活。
从图2可以看出,TM1300利用PCIBIU访问XIO总线,TM1300访问XIO总线的地址格式如图3所示。
由图3可见,24位16MB地址空间的XIO总线映射到16MBPCI(4字节)地址空间。XIO总线上一次字节的读写对应于
PCI总线上的一次字读写。图4是TM1300访问XIO总线使用的数据格式,向XIO总线写一个字节时,PCIBIU在PCI写操作的数据相,向XIO总线控制器写4字节,但低24位(bit23:0)被忽略,对应的PCI_BYTE_ENABLE信号无线;从XIO总线读1字节时,XIO总线控制器在PCI读操作的数据相,向PCIBIU发送4字节,其中高8位(bit31:24)是从XIO总线的数据线上读到的数据,低24位(bit24:0)返回这次读操作的XIO总线地址。
在XIO逻辑激活期间,PCI-XIO接口把PCI中断信号PCI_INTB复用为XIO总线全局使能信号CS;把PCI的命令/比特使能信号PCI_C/BE0和PCI_C/BE1分别复用为XIO总线的读使能信号RD和写使能信号WR;把PCI/C_BE2复用为数据锁存信号,用于地址线与数据线复用的环境;PCI的时钟信号PCI_CLK可在XIO总线操作期间为PCI总线接口单元(BIU)提供由TM1300内部高速时钟分频而来的可编程时钟;其它PCI控制信号则由XIO总线控制器负责与PCIBIU进行交互。
1.2基于PCI-XIO的接口实现方案
通过上述介绍不难看出,PCI-XIO接口的8位数据线无疑是TM1300连接8位外设ST16C550和USBN9604的理想桥梁。
串行接口的实际技术已经非常成熟,本文选用比较常见的ST16C550芯片。ST16C550是可编程的通用异步接收/发送器,工作在3.3V或5V,内部收发均有16个字节FIFO,能实现数据的串行与8位并行之间的转换,支持异步通信协议。片内有时钟产生电路,最高工作频率24MHz,波特率可以从50bps~1.5Mbps.ST16C550可以为应用于远程通信系统中的调制解调器提供控制信号,并接收和记录调制解调器的状态信息。
本文所选用的USB接口芯片USBN9604是NationalSemiconductor公司设计生产的一款新型的USB通信控制芯片,支持全速传输,可满足USB1.0和USB1.1协议。它具有8位并行接口,可支持DMA、MICROWIRE。其主要特别如下:工作频率为48MHz,芯片内部有倍频电路;可编程产生不同的接口(SIE),可实现USB物理层和信号协议层的转换;带有7个端点的USB功能控制器,每个端点对应一个FIFO;内部有64个映射到内存的寄存器。
图5
TM1300与USB9604连接的原理图如图6所示。
在TM1300通过XIO口对USB芯片进行读写的过程中,要特别注意时 《TM1300 PCI-XIO口的UART和USB接口设计(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/140805.html
TM1300初始化后,PCI-XIO总线默认为普通PCI模式。若MMIO里XIO-CTL寄存器的使能位被置位,并且TM1300寻址到XIO地址空间,XIO总线控制器就被激活。
从图2可以看出,TM1300利用PCIBIU访问XIO总线,TM1300访问XIO总线的地址格式如图3所示。
由图3可见,24位16MB地址空间的XIO总线映射到16MBPCI(4字节)地址空间。XIO总线上一次字节的读写对应于
PCI总线上的一次字读写。图4是TM1300访问XIO总线使用的数据格式,向XIO总线写一个字节时,PCIBIU在PCI写操作的数据相,向XIO总线控制器写4字节,但低24位(bit23:0)被忽略,对应的PCI_BYTE_ENABLE信号无线;从XIO总线读1字节时,XIO总线控制器在PCI读操作的数据相,向PCIBIU发送4字节,其中高8位(bit31:24)是从XIO总线的数据线上读到的数据,低24位(bit24:0)返回这次读操作的XIO总线地址。
在XIO逻辑激活期间,PCI-XIO接口把PCI中断信号PCI_INTB复用为XIO总线全局使能信号CS;把PCI的命令/比特使能信号PCI_C/BE0和PCI_C/BE1分别复用为XIO总线的读使能信号RD和写使能信号WR;把PCI/C_BE2复用为数据锁存信号,用于地址线与数据线复用的环境;PCI的时钟信号PCI_CLK可在XIO总线操作期间为PCI总线接口单元(BIU)提供由TM1300内部高速时钟分频而来的可编程时钟;其它PCI控制信号则由XIO总线控制器负责与PCIBIU进行交互。
1.2基于PCI-XIO的接口实现方案
通过上述介绍不难看出,PCI-XIO接口的8位数据线无疑是TM1300连接8位外设ST16C550和USBN9604的理想桥梁。
串行接口的实际技术已经非常成熟,本文选用比较常见的ST16C550芯片。ST16C550是可编程的通用异步接收/发送器,工作在3.3V或5V,内部收发均有16个字节FIFO,能实现数据的串行与8位并行之间的转换,支持异步通信协议。片内有时钟产生电路,最高工作频率24MHz,波特率可以从50bps~1.5Mbps.ST16C550可以为应用于远程通信系统中的调制解调器提供控制信号,并接收和记录调制解调器的状态信息。
本文所选用的USB接口芯片USBN9604是NationalSemiconductor公司设计生产的一款新型的USB通信控制芯片,支持全速传输,可满足USB1.0和USB1.1协议。它具有8位并行接口,可支持DMA、MICROWIRE。其主要特别如下:工作频率为48MHz,芯片内部有倍频电路;可编程产生不同的接口(SIE),可实现USB物理层和信号协议层的转换;带有7个端点的USB功能控制器,每个端点对应一个FIFO;内部有64个映射到内存的寄存器。
图5
TM1300与USB9604连接的原理图如图6所示。
在TM1300通过XIO口对USB芯片进行读写的过程中,要特别注意时 《TM1300 PCI-XIO口的UART和USB接口设计(第2页)》