3.3 串口通信与RS-232C接口 由图1.1可见RC-232C主要用于上位机与下位机之间的通信,而CAN总线则负责温度采集与数据收集模块间的通信,即单片机与现场测温
3.3 串口通信与RS-232C接口
由图1.1可见RC-232C主要用于上位机与下位机之间的通信,而CAN总线则负责温度采集与数据收集模块间的通信,即单片机与现场测温设备间的通信。
串口通信是一种基础而灵活的通信方式,广泛应用与计算机系统、自动化控制系统的数据通信方面[13]。
接口与总线是通数据通信紧密关联的重要概念。接口泛指两个功能部件之间的连接。接口所具有的基本功能主要有:
1.数据缓冲功能;
2.信号转换功能;
3.设备选择功能;
4.接收、执行命令功能;
5.中断管理功能;
6.数据宽度变换功能;
7.可编程功能。
接口的基本控制方式主要为程序查询方式、中断处理方式、直接存储器存取控制方式这三种。接口分为并行接口与串行接口,本系统单片机与PC间的通信采用串行接口以及足够了。 串行通信的制式主要有单工、半双工、全双工三种,鉴于本系统主要是接受由单片机传输的数据,PC对单片机控制的部分不多,大多数时候是单方面的传输数据,所以选择简单方便的半双工。
串口通信是按位来进行字节传输。这样通信的好处是可以增加通信距离,而且节省材料,缺点是速度慢。串口通信采用异步方式。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验[14]。在进行通信时,通信的发送方与接收方必须做好约定,使这四个参数一致。
为了使不同设备间进行串行通信,通信双方应采用相同的接口。RS-232C接口是目前最常用的一种串行通讯接口。RS-232C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS是“推荐标准”的意思,232为标识号,C表示修改次数。
RS-232C通信距离较短,一般用于20m内的通信,这主要是受其驱动器上电容负载与单端信号传输方式的限制,因此本系统中使用RS-232C来进行上位机与下位机间的通信。
RS-232C采用采用正负电平来表示高低电压,这与多采用TTL电平的单片机的信号电平的标准并不相同,因此需要采用采用电源转换芯片来连接两者,通常是使用MAX232芯片来完成电平转换[15]。事实上,在本课题中正是采用了MAX232芯片使得PC的USB接口可以与单片机进行串行通信。值得一提的是,通过电平转化后单片机将数据传向PC的COM口,但此时端口是不确定的,需要确定端口后在程序中确定开放正确的端口。