新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于VC6.0的多單片機和PC機串口通訊實現方案

        基于VC6.0的多單片機和PC機串口通訊實現方案

        作者: 時間:2013-09-29 來源:網絡 收藏

        引言

          在計算機控制系統中,不可避免的要采用多機系統進行通信。在由一臺PC 機(上位機) 和多臺單片機(下位機) 構成的分布式控制系統中,通過PC 機的串口與多臺單片機的通信是最方便的。在這樣的分布式控制系統中,單片機與微機之間的多路通信是整個系統的關鍵。


        系統組成及通訊原理

        系統構成

          由上位機(即計算機)、通訊接口和下位機3部分組成。上位機選用的是工控機 ,智能終端由單片MSP430F169和外圍傳感器放大電路等構成。要想與PC 串口連接或者其它帶有串口的終端連接,必須要進行EIA-RS-232C 與MSP430 電平和邏輯關系的轉換。本設計采用MAX3232芯片, 可完成3V~5V 電平與串口電平的雙向轉換。

          MSP430F169單片機屬于德州儀器公司MSP430F14X/16X FLASH 系列。該系列是一組超低功耗的微控制器,工作電壓范圍1.8~3.6V。由于具有16位RISC結構,16 位寄存器和常 數寄存器,MSP430 達到了最大的代 碼效率。數字控制的振蕩器提供快速從所有低功耗模式蘇醒到活動模式的能 力時間少于6ms。 MSP430F169 帶有兩個16 位定 時器(帶看門狗功能)、速度極快的8 通道12 位A/D 轉換器(ADC)(帶內部參考電壓、采樣保持和自動掃描功能)、一個內部比較器和兩個通用同步/異步發射接收器、48個I/O口(均可獨立控制)的微處理器結構。硬件乘法器提高了單片機的性能并使單片機在編碼和硬件上可兼容。

        通訊原理

          MSP430F169單片機支持兩種不同的串行協議,通用同步協議(USART協議)和同步協議(SPI協議),用控制寄存器UCTL(表1)中的控制位SYNC來選擇所需的模式。SYNC=0:選擇異步模式UART;SYNC=1:選擇同步模式SPI,在此選擇異步模式。

          控制寄存器內的信息決定了USART的基本操作,如選擇通信協議、通信模式、字符長度和校驗位等。在此設定字符長度為8位:CHAR=1,停止位1位:SP=0,奇校驗:PEV=0。 MSP430的波特率發生器有一預分頻/分頻器和一個調整器的組合,即使晶振頻率不是波特率的整數倍,這一組合也能使MSP430 正常工作而且還可以使其通訊協議工作在最大的波特率。采用這一技術, 即使用手表晶振(32768Hz),波特率也可以達到4800 和9600,選擇波特率為9600,外部時鐘為ACLK。

        系統通訊協議

          在和多臺單片機的通訊中,確定一個明確而合理的通訊協議是關鍵,包括對數據格式、通訊方式、傳送速度、傳送步驟、檢糾錯方式以及控制字符定義等問題做出統一規定。為了區別不同的分機,必須為每個分機分配一個唯一的地址,此地址唯一區別各單片機。數據格式采用數據包的形式,一次傳輸一組數據。

        起始標志位:1 個字節

        分機地址: 1 個字節

        命令/ 數據: 1 個字節

        數據長度: 1 個字節

        數據內容: n 個字節

        和檢驗: 2 個字節

        結束標志位: 1 個字節

          數據格式中的地址位表示與PC 機通訊的單片機地址。操作命令則表示此次通訊要完成的操作。在單片機發送上位機接收的時候,協議規定命令FFH 為上報數據, 此時數據包中的數據長度、數據內容、和檢驗三個域便填充實際發送數據的個數、數據及和校驗;命令F0H - F3H 則表示單片機給的反饋信息,此時數據包中的數據長度、數據內容和檢驗三個域為空,其中當命令為F0H 表示接收成功,F1H 表示接收失敗并要求重發,F2H 表示單片機有數據上報要求,F3H 表示單片機無數據上報要求。操作命令域在PC 機發送單片機接收的時候也相似的協議規定。

        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理


        數字通信相關文章:數字通信原理


        分頻器相關文章:分頻器原理
        晶振相關文章:晶振原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 岳普湖县| 普兰县| 哈巴河县| 房山区| 高邮市| 龙川县| 宣汉县| 叙永县| 鹤峰县| 汤阴县| 辽宁省| 运城市| 裕民县| 胶州市| 龙江县| 怀化市| 锡林浩特市| 尚志市| 杂多县| 乌拉特中旗| 油尖旺区| 金湖县| 巫溪县| 甘谷县| 鄂尔多斯市| 永州市| 华宁县| 镇安县| 藁城市| 信阳市| 贺州市| 田东县| 安多县| 平塘县| 甘洛县| 安阳市| 喀喇沁旗| 肃北| 赤水市| 江都市| 澄城县|