硬件(7)——imx6ull通信
一、通信基本概念通信嵌入式系统中的通信是指两个或两个以上的主机之间的数据交互。时钟线是一个固定的节拍协同不同主机间的工作节奏。异步、同步异步无时钟线同步有时钟线。串行、并行串行通过一根数据线传输数据并行通过多根数据线传输数据。串行优势引脚占用资源少。并行优势通信速率快。egAHB总线32根数据线32根地址总线若干控制总线。单工、半双工、全双工数据收发方向的不同。单工数据接收方和数据发送方是固定的数据传输是通过一根数据线实现数据传输的方向是单一的。半双工通信双方既可以作为数据发送方也可以作为数据接收方接收方和发送方不固定数据传输是通过一根数据线实现数据传输的方向可以是双向的但同一时刻数据传输呈现单一性。全双工通信双方既可以作为数据发送方也可以作为数据接收方数据传输是通过两根数据线实现任意时刻数据传输方向是双向的。串口通信格式115200 N 8 1波特率115200每秒可发送的比特数校验方式N无校验O奇校验E偶校验。数据位8个比特的数据位停止位1个电器标准规定高低电平的认定标准。TTL晶体管跟晶体管间电平指芯片引脚产生的电压。高电平5V低电平0V。RS232负逻辑全双工通信。高电平-3V~-15V低电平3V~15V。上面两种电平标准的传输距离都比较有限因为导线在传输中有电阻会衰减电压干扰传输数据。RS485差分信号半双工通信。用两根数据线的电压差表示高低电平。抗干扰能力极强。二、硬件UART异步、串行、全双工的通信方式。UART1_RXD数据接收线UART1_TXD数据发送线1. UART_CLK_ROOTUART时钟根默认80MHz预分频: 1分频。2.引脚初始化数据接收线和数据发送线都要配置复用功能和电器属性。IOMUXC_SetPinMux(IOMUXC_UART1_TX_DATA_UART1_TX, 0); IOMUXC_SetPinConfig(IOMUXC_UART1_TX_DATA_UART1_TX,0x10B0); IOMUXC_SetPinMux(IOMUXC_UART1_RX_DATA_UART1_RX, 0); IOMUXC_SetPinConfig(IOMUXC_UART1_RX_DATA_UART1_RX,0x10B0);3.存储寄存器1.收发的数据存储寄存器UART1-URXD: 只读寄存器b0-7: 保存接收到的字符。UART1-UTXD:b0-7:需要发送的数据。UART1-USR2:b3发送完成标志位。b0接收数据就绪位。2.UART1初始化寄存器UART1-UCR1b0整个UART(通用异步收发传输器)模块的总开关。UART1-UCR2b14置1忽略RTS引脚流控轮询模式b8置0表示无校验使能置1表示奇偶校验使能;b6停止位数量。0表示1位1表示2位;b5字长数据位宽度。1表示8位模式0表示7位模式;b2置1发送器使能;b1置1接收器使能;b0软件复位软件复位将保持有效 4 个模块时钟周期;UART1-UCR3b2UART工作于多路复用 (MUXED) 模式此位应始终设置为1。UART1-UFCRb7-b9设置模块时钟的分频值0x101表示1分频3.波特率配置寄存器UART1-UBIRb0-b15UBIR;UART1-UBMRb0-b15UBMR;波特率配置RefFreq模块时钟频率80MBaudRate目标比特率115200M令UBIR11000则UBIR999UBMR43402注意先改变UBIR后改变UBMR。