图2 网卡接口电路

基于ARM920T处理器实现RS-232C串口与以太网口数据双向传输的设计

2.2 S3C2440 串口模块电路

S3C2440 本身自带三路独立的UART 接口,在设计嵌入式串口服务器系统时,应用了S3C2440 串口模块的两路UART 接口,另外一路UART 接口做开发时的打印控制台用。这两路串行口用三线通信,采用MAX3232 作为电平转换芯片,分别配置处理器的GPH2、CPH3、CPH4 和CPG5,4 个GPIO 口为TXD0、RXD0、TXD1 和RXD1 串口收发信号线。RS-232C 接口电路如图4 所示。

基于ARM920T处理器实现RS-232C串口与以太网口数据双向传输的设计

3 系统软件

系统软件的设计目标: 嵌入式串口服务器能够接收来自以太网的数据流,将以太网数据流转换为串行口数据流发送给指定串口; 实现串口数据流到以太网数据流的逆过程。软件平台采用拥有完备TCP /IP 协议栈和丰富源码资源的Linux作为串口服务器的操作系统,在ARM9 上移植并裁剪Linux 系统,同时移植完善根文件系统,为应用层软件开发提供平台。应用程序软件的主要任务如图5 所示,通过Linux 系统调用接口、调用串口函数读取数据,并将数据通过socket 接口发往以太网口; 接收socket 端数据、调用串口设备函数,将数据发往指定串口。

基于ARM920T处理器实现RS-232C串口与以太网口数据双向传输的设计

3.1 在Linux 系统中对串口的操作

UART 的操作主要有: 数据发送、数据接收、产生中断、设置波特率、loopback 模式、红外模式和硬/软流控模式7 部分。在Linux 中,所有设备文件一般都位于“/dev”下,其中串口对应的设备为“/dev /ttySx”,在Linux 下对设备的操作方法与对文件的操作方法一样。下面就是设计中串口应用的开发步骤。

串口设置主要设置struct termios 结构体成员,具体的串口操作函数此处略去,串口操作流程如图6 所示。

基于ARM920T处理器实现RS-232C串口与以太网口数据双向传输的设计

3.2 Linux 网络套接字编程步骤

在Linux 中的网络编程通过socket 接口进行。socket 是一种特殊的IO 接口,也是一种文件描述符,它是一种常用的进程之间的通信机制,通过它不仅能实现本地机器上进程间的通信,而且通过网络能够在不同机器上的进程间进行通信。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查