1、cp210x
CP210x 是一款高度集成的 USB 至 UART 的桥接控制器,提供完整的即插即用接口解决方案。
CP210x 内部集成了 USB 2.0 功能控制器、USB 收发器、振荡器、EEPROM 和 UART,采用 5 x 5 mm QFN28 封装,占用 PCB 面积少,并可实现全功能的 RS232 接口。其内部原理框图如下所示:
官方电路样例:
嵌入式板卡设计:
2、485模式修改
从cp210x出来则使用fw_setenv uart_mode 0x0c进行设置485模式
0x0c对应二进制为1100,将USB2、USB3设为1后则为485模式,
相对应如果0xff则将USB0、USB1、USB2、USB3设为485模式
可通过
~# cp210x_232_485
CP2108 Found 1 devices
EnhancedFxn_IFC0 = 0x00
EnhancedFxn_IFC1 = 0x00
EnhancedFxn_IFC2 = 0x0c
EnhancedFxn_IFC3 = 0x0c
来查看,但是打印的0x0c仅代表485模式不代表1100
在这里产生的节点USB*为先后顺序产出,如EC20产出USB节点/dev/ttyUSB0,cp210x产生四个节点就会变为/dev/ttyUSB1、/dev/ttyUSB2、/dev/ttyUSB3、/dev/ttyUSB4,通过先后顺序的形式产生,一般将cp210x加载优先于EC20
从cpu出来修改为485模式则使用
~# fw_setenv uart_mode_cpu 2:1,3:1
3、安装cp210x
在调试handsfree时,ubuntu tk1板卡识别不出ttyUSB端口
通过dmesg -c查看,
Product: CP2102 USB to UART Bridge Controller
但是cp210x没有attached to ttyUSB0
这个我们需要更新cp210x的driver
从http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx#linux下载 cp210x的驱动
编译生成cp210x.ko
insmod cp210x.ko,就可以看到ttyUSB0了。
另外我们还需要ubuntu上电自动加载驱动模块
步骤如下
-
depmod -a
-
在/etc/modules加入cp210x
-
拷贝cp210x.ko到/lib/modules/…/kernel/drivers/usb/serial