"波特率发生器-串行口通信-PDA中的串口"
串行口通信是微计算机之间进行近距离通信的一种常见方法,尤其在基于Windows CE的设备中,如PDA,由于其对GPS、GSM/GPRS及蓝牙模块的支持,串口通信仍然得到广泛应用。串行通信的基本原理在于通过串行接口发送和接收数据,通常包括起始位、数据位、奇偶校验位和停止位。
在PDA中的串行口通信,比如使用PXA270处理器的设备,串口通信的实现涉及到波特率的设定。波特率决定了数据传输的速度,它由波特率发生器控制。每个UART(通用异步收发传输器)的波特率发生器提供串行移位时钟。计算波特率的公式是:BaudRate = 14.7456 / (16 * Divisor),其中Divisor是在Divisor Latch register(DLL或DLH)中设置的值。例如,如果Divisor设置为24,则波特率是38400bps。
对于不同的UART类型,Divisor的设置范围也有所不同。FFUART(全功能串口)和STUART(标准串口)的Divisor范围是4到2166-1,而BTUART(蓝牙串口)的Divisor范围则更宽,为1到216-1。
串行通信接口通常遵循RS232标准,使用9芯或25芯的D型插头,实际应用中常使用9针DB-9插头。基本的通信仅需RXD(接收数据)、TXD(发送数据)和GND(接地)三根线。不过,由于RS232的电平标准(负逻辑,-5V至-15V为逻辑1,+5V至+15V为逻辑0)与LVTTL(低电压晶体管-晶体管逻辑)电路的电平标准(2V至3.3V为逻辑1,0V至0.4V为逻辑0)不同,因此在两者之间通信时需要通过电平转换芯片如MAX232来实现电平的适配。
在数据格式方面,串行通信通常包含以下部分:
1. 起始位:通常为0,标志着数据传输的开始。
2. 数据位:5到8位,通常使用8位的ASCII编码,确保数据的完整性和兼容性。
3. 奇偶校验位:可选,用于检查数据传输的正确性,使数据位加上校验位的1的个数保持奇数或偶数。
4. 停止位:通常为1,表示数据传输的结束。
在进行串行通信时,通信双方必须对波特率、数据位长度、是否使用奇偶校验以及停止位的数量达成一致,以确保数据的准确传输。在Windows CE系统中,串行通信可以通过标准函数进行操作,如打开、关闭串口,以及发送和接收数据等。