UARTシリアル通信

1.はじめに

        UART(汎用非同期レシーバとトランスミッタ)、すなわち汎用非同期受信機送信機は、ある共通のシリアルデータバス、属シリアル通信、非同期通信。バスラインが送受信する全二重双方向通信を実現することができ、送信及び受信されます。流路チップからパラレル-シリアル信号出力として実装、多くの場合、他の通信インタフェースを接続上に集積。FPAG開発ボードでは、一般にUARTがデータ通信、コマンドを含む、PCと通信し、情報の送信を制御します。

見出し

 非同期通信:UARTプロトコル送信者と受信者は、均一な基準クロックを使用しない、すなわち、送信及び受信装置は、データの送受信を制御するための独自のクロックを有しています。文字内の2つの側面が、2つの文字間の通信時間間隔の数が固定されていないが、文字間隔の二つの隣接するビットの間に同時に固定されます。双方は、同期方法を使用することで取得固定シリアルデータフォーマット。 

シリアル通信:シリアル周辺機器とコンピュータの間の通信手段、地上データによる通信手段、制御線、ビットデータ伝送。このように、より少ないケーブルは、並列の送信よりも通信コストが、低い伝送速度を保存することができ、長距離伝送に使用されます。

     バイトのビットシリアル送受信することにより、すなわち、ビット。シリアル伝送は、通常の受信および接地、3つの送信を使用して、即ち、通信回線、ASCII文字のために使用されます。シリアル通信は非同期であるため、シリアルポートが1行他のライン上で送信されるデータを受信します。他の行は握手をするために使用されるが、必要に応じていません

シリアル通信の重要なパラメータボーレートデータビットストップビット、およびパリティビット通信には2つの側面は、これらのパラメータは、ポートと一致する必要があります。

RS232 UART異なる UART TTLレベル(3.3V)インターフェース、RS232、RS232レベル(5-12V)ポート:。デバイスがPC側に接続されたPCのシリアルポートにUARTを必要とする場合RS232レベルへの変換ドライブ(同様のMAX232チップ)を有するRS232タイプ)です。

非同期通信のデータフォーマット

 

通信プロトコルの送信タイミング2.UART

    UART非同期シリアル通信プロトコルとしては、ビット伝送により各文字伝送データビットで動作します。したがって、UART通信、まず、受信したパラレルデータを送信するためのシリアルデータに変換します。次のようにメッセージフレームフォーマットとタイミングチャートです。

     スタートビットからのメッセージフレーム、データの7ビットまたは8ビット(第一の低域通過、高再送)続いて、パリティビットとストップビット又は少数高で入手可能です。場合受信機は、送信される準備ができたデータを知ることがスタートビットを検出し、送信側は、クロック周波数の同期を試みます。

スタートビット:最初の送信側は、スタート伝送文字を示す論理「0」信号を送ります。

データビット(データビット):スタートビットとペースを保ちます。データ・ビットは、4,5,6,7,8ビット、および文字することができます。典型的には、ASCIIコード、及び第一の低域通過で、クロックを配置することによって。

パリティ:データビット+ 1、ビット数が「1」のデータ転送の正確さを検証するべきであるようにするために偶数(偶数パリティ)または奇数(奇数パリティ)です。

停止位:这是一个字符数据的结束标志。  可以是1位、1.5位、2位的高电平。 由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。

空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。

     接收过程中,UART会从接收到的消息帧中去掉起始位和结束位。如果有奇偶校验位,那么需要对拿到的数据进行奇偶校验,并且负责将数据字节进行串行转并行。

波特:是衡量数据传送速率的指标。表示每秒钟传送的的二进制位数。一个符号代表的信息量(比特数)与符号的阶数有关。例如传输使用256阶符号,每8bit代表一个符号,资料传送速率为120字符/秒,则波特率就是120baud,比特率是120*8=960bit/s。这两者的概念很容易搞错。

16倍频采样

        通常会采用常规的16倍频采样方法:即采用数据传输速率(波特率)的16倍进行采样,采样时钟连续采样到8个低电平信号,可确定

该低电平为真正的起始信号,从而防止干扰信号导致的虚假起始位现象。此后接收器每隔16个采样时钟采样一次,并把采样得到的数据作为输入数据,以移位方式存入到接收移位寄存器。

        起始位检测8个连续脉冲的另一个原因是,采用16倍频的采样时钟,第8个采样脉冲所对应的数据波形正好是该数据位的正中点(上升沿采样),在该处读写数据会最安全准确。

分频系数 = 系统时钟/16*p。

3. Verilog实现

 功能模块的划分:

 

 

 

おすすめ

転載: blog.csdn.net/qq_26652069/article/details/90489628