支持Android的USB/串口转换器
USB/串口转换器是实现USB与RS-232/RS-485/RS-422串口设备相互通讯的一种协议转换装置(USB协议-串行通信协议)。在通信主机 (USB)和RS-232/RS-485/RS-422串口设备之间,无论是通信主机发送信息至指定的RS-232/RS-485/RS-422串口设备或是RS-232/RS-485/RS-422串口设备发送信息至指定通信主机,都可以经其轻易且正确地传输。USB232GH3产品提供一个USB口,一个隔离的RS232/ RS485/RS422串口。USB232GH3不仅支持WINDOWS、WINCE、MAC-OS、LINUX,而且还支持Andriod,也是世界上最小的高速光隔USB/RS-232/485/422转换器!
现在的平板电脑和智能手机都有USB口,本文以波仕USB232GH3产品为例介绍在Android系统下的USB扩展串口的方法。将USB232GH3型USB/串口转换器的USB口外插到平板电脑的USB口即可,有些可能要通过接USB-OTG线。USB232GH3产品的RS-232/485/422串口端是一个DB-9针座,具有RS-232、RS-485、RS-422全部引脚。当作为RS-232口时与PC机的DB-9针RS-232口的2、3、5脚分配完全相同。作为RS-422时,T+、T—是指从USB232GH3向外发送。注意RS-485和RS-422通信时建议要接地线(5脚)。RS-485/422无须跳线选择。RS-485/422信号的参考地线与RS-232的GND是一样的。USB232GH3实现了USB与串口(RS-232/485/422)之间的2500V光电隔离。USB232GH3的串口最高通信速率为115.2Kbps,内置有600W抗雷击浪涌保护器。
USB串口驱动程序分为虚拟串口驱动和直接端口驱动。 目前USB232GH3的Android驱动程序为直接端口驱动,并且只支持ARM芯片。我们已经在Android2.3和Android2.6测试通过。 Android实际上可以理解为一个比较完善界面和功能的LINUX、其内核仍然是LINUX。Android的USB-串口驱动安装仍然要在LINUX开发系统下完成,运行UBUNTU10.04。分步运行以下指令:
make config omap3_beagle_defconfig
make menuconfig ARCH="arm" CROSS_COMPILE=arm-eabi-
make ARCH="arm" CROSS_COMPILE=arm-eabi- uImage
进入下面的界面:
通过以下指令配置内核:
adb pull /proc/config.gz config.gz
cat config.gz > ~/android-kernel-source/tegra-android-tegra-2.6.36-9001adc/.config
然后设置串口访问权限:
/dev/ttyUSB* 0666 root root
echo “Hello serial port” > /dev/ttyUSB0
cat /dev/ttyUSB0
这样就可以外接USB232GH3扩展出串口了。Android下对串口的访问目前只能通过JAVA API。随产品配套的光盘中已经提供了例程。