•  作者:admin
  •  積分:2676
  •  等級:專家教授
  •  2013/04/25 16:14:58
  •  
  • 樓主(閱讀:5369/回復:0)通信參數 校驗碼 數據傳輸

        串行端口的通信方式是將字節拆分成一個接著一個的位再傳送出去。接到此電位信號的一方再將此一個一個的位組合成原來的字節,如此形成一個字節的完整傳送。

    在傳輸進行的過程中,雙方明確傳送信息的具體方式,否則雙方就沒有一套共同的譯碼方式,從而無法了解對方所傳過來的信息的意義。因此雙方為了進行通信,必須遵守一定的通信規則,這個共同的規則就是通信端口的初始化。

    通信端口的初始化必須對以下幾項參數進行設置。

    1.數據的傳輸速度

        串行通信的傳輸受到通信雙方配備性能及通信線路的特性所左右,收、發雙方必須按照同樣的速率進行串行通信,即收、發雙方采用同樣的數據傳輸率。數據傳輸率批量的是串行通信中每一秒所傳送的數據位數,單位是bit/s。經?梢钥吹绞称坊MODEM的規格書上都寫著19200bit/s、38400bit/s······,所指的就是數據傳輸率。

       就儀器或工業場合來說,4800bit/s、9600bit/s是最常見的數據傳輸率,現在的個人計算機 所提供的串行端口的數據傳輸率都可達到115200bit/s(甚至有921600bit/s),若傳輸距離較近而設備也提供時,使用最高的數據傳輸率也可以。

    例如,在某異步串行通信中,每傳送一個字符需要8位,如果采用數據傳輸率4800bit/s進行傳送,則每秒可以傳送600個字符。

    數據的傳送單位

    一般串行通信端口所傳送的數據是字符型,若用來傳輸文件,則會使用二進制的數據類型。當使用字符型時,工業界使用到的有ASCII字符碼及JIS字符碼;ASCII使用了8位形成一個字符,而JIS碼則以7位形成一個字符。歐美的設備多使用8位的字節,而***本的設備多使用7位為一個字節。以實際的RS-232傳輸上看來,由于工業界常使用的PLC大多只是傳送文字碼,因此只要7位就可以將ASCII0127碼表達出來(2128,共有128種組合方式),所有的可見字符也落在此范圍內,所以只要7個數據位就夠了。不同的情形下(依據使用的協議),會使用到不同的傳送單位。使用多少位合成一個字節必須先行確定。

    起始位與停止位

        由于異步串行傳輸中并沒有使用同步脈沖作基準,故接收端完全不知道傳送端何時將進行數據的傳送。發送端準備要開始傳送數據時,發送端會在所送出的字符前后分別加上高電位的起始位(邏輯0)及低電位的停止位(邏輯1),它們分別是所謂的起始位和停止位。也就是說,當傳送端要開始傳送數據時,便將傳輸線上的電位由低電位提升至高電位;而當傳送結束后,再將電位降至低電位。接收端會因起始位的觸發(因電壓由低電位升至高電位)而開始接收數據,并因停止位的通知(因電壓維持在低電位)而明確數據的字符信號已經結束,當加入了起始位及停止位才比較容易達到多字符的接收能力。起始位固定為1位,而停止位則有1、1.5、2位等多種選擇,如何選擇呢?只要通信雙方協議通過即可,沒有強制規定。

    校驗位

        為了預防錯誤的發生,使用校驗位作為檢查的機制。校驗位即是用來檢查所傳送數據的正確性的一種核對碼,這之中又分成奇校驗與偶校驗兩種,分別是檢查字符碼中1數目是奇數或偶數。以偶校驗為例,“A”的ASCII碼是41H16進制),將它以二進制表示時,是01000001其中1的數目是2,因此校驗位便是0,使1的數目保持偶數;同樣,校驗位是奇校驗時,“A”的校驗位便是1,使1的數目保持在奇數。接收者重新計算奇偶校驗位,如果新的計算值正確,那么表示正常。如果新的計算值錯誤,那么接收端就會收到一些指示,表示此次接收的數據有誤。

    歡迎使用串口論壇
    波仕與您暢游RS232/RS485串口的世界


    目前不允許游客回復,請 登錄 注冊 發表言論。
     
    第一章厨房春潮他含她的乳,宝宝太紧了松一点会断的,宝宝你看你喷的到处都是,我的徒弟每天都想着上我