从硬件电路上看到FTDI使用DTR来作为半双工控制的方向控制,很是好奇。DTR到底是怎么用的呢?
从串口协议来看,解释是DTE设备准备OK的意思。这个信号是如何起作用的呢。
从FTDI手册来看,DTR#意思是低电平有效,且为输出信号。
http://yosemitefoothills.com/Electronics/FTDI_Chip_Commands.html
http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R.pdf
想到了linux ttyUSB的驱动代码,应该是有标准接口来控制这些个信号的。
tty_io.c 为linux驱动代码。http://lxr.oss.org.cn/source/drivers/tty/tty_io.c
还有一些glibc中封装的对于tty驱动调用的代码。 http://www.oschina.net/code/explore/glibc-2.9/sysdeps/unix/sysv/linux/tcgetattr.c
然后,驱动里面有标准接口了。那么这个信号的控制权就交给了用户空间代码了。应用程序是怎么控制的?
需要找到dynamixel驱动器的ros控制代码。
比如,publish一个topic,对于串口上的信号是怎样的呢?DTR的工作时序是怎样的?
应该先搞清楚dynamixel接口电路和时序是怎样的,才能够确定下来workstation侧应用程序如何控制串口来和D驱动器交互。
DCE DTE设备常识: http://blog.sina.com.cn/s/blog_4bab7f3f01000a0c.html http://blog.sina.com.cn/s/blog_5f91f7790100t95z.html
RS-232的设备可以分为数据终端设备(DTE)和数据通信设备(DCE)两类,这种分类定义了不同的线路用来发送和接受信号。一般来说,计算机和终端设备有DTE连接器,调制解调器和打印机有DCE连接器。