本帖最后由 hotpower 于 2010-6-27 15:27 编辑
串口做某些单总线是很简单的,比如PS/2接口,实际也就是TXD和RXD接在一起。
但是,做IIC和SPI估计就有相当的困难了。
如果简单的控制2个IO输出,模拟出IIC的话,速度估计会相当慢。
21楼正解,USB的高速在于大数据 ...
Simon21ic 发表于 2010-6-27 01:01
正如31楼所提到的一切。
USB的优势在于大批量数据传送而非控制,而控制的优势在于用USB转接的设备。
USB不可能产生频率很高周期连续的脉冲波,但USB传串口则可能达到很高的速率。
在三种常用的数据总线中,单总线最好模拟,因为它们的时钟(TX输出)和数据(TX输出RX输入)是由一条通道构成。
而I2C/SPI即双线或三线(四线)协议的时钟和数据是分离的,这样用常规的思路是很难模拟出来的。
但是,I2C/SPI有个共同的特点:时钟由主设备提供,数据在时钟的某边沿产生。
那么我们必须先找寻一条提供主时钟的通道,再解决数据双向传送的问题。
首先我们可以让PC的TX数据输出端发出'0'/'1'来间接地发送“时钟”,虽然模拟出来的I2C/SPI频率慢了一倍,但对于工具接口还是能够承受的。
其次就是数据在某时钟边沿如何跳变,即控制数据的输出和对输入数据的采样,这个问题是菜农“征脑”的关键所在。
等知音~~~ |