電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 2075|回復(fù): 0
收起左側(cè)

三本學(xué)嵌入式還是安卓好點(diǎn)_PC機(jī)與嵌入式計(jì)算機(jī)系統(tǒng)串行通訊的硬軟件實(shí)現(xiàn)

[復(fù)制鏈接]

2607

主題

2607

帖子

7472

積分

高級會員

Rank: 5Rank: 5

積分
7472
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-8-3 11:14:04 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
三本學(xué)嵌入式還是安卓好點(diǎn)_PC機(jī)與嵌入式計(jì)算機(jī)系統(tǒng)串行通訊的硬軟件實(shí)現(xiàn),   

  

【摘 要】 介紹了微機(jī)(PC)與嵌入式計(jì)算機(jī)系統(tǒng)的串行通訊的方法,敘述了嵌入式計(jì)算機(jī)在溫控系統(tǒng)中的應(yīng)用和硬件結(jié)構(gòu),給出了下的串行通訊程序。

關(guān)鍵詞:微機(jī)(PC),嵌入式計(jì)算機(jī),串行通訊

1 引 言

目前,先進(jìn)的嵌入式計(jì)算機(jī)以其優(yōu)良的品質(zhì)、高可靠性及模塊化,廣泛地應(yīng)用于工業(yè)控制、航空、醫(yī)療、智能儀表、通訊、數(shù)控、自動化生產(chǎn)設(shè)備、數(shù)據(jù)采集等領(lǐng)域。在實(shí)際應(yīng)用中,有時需要借助微機(jī)的強(qiáng)大的數(shù)據(jù)處理能力和豐富的軟件資源,使得組成的系統(tǒng)功能更為強(qiáng)大。這樣,為了提升系統(tǒng)的整體性能,必須實(shí)現(xiàn)PC機(jī)和嵌入式計(jì)算機(jī)之間的通訊。它們之間的通訊可以通過并行通訊或串行通訊兩種方式來實(shí)現(xiàn)。由于串行通訊相對于并行通訊有接線數(shù)量少,抗干擾性能好等優(yōu)點(diǎn),所以,這里采用串行通訊的方式。

2 嵌入式計(jì)算機(jī)的硬件和通訊軟件的設(shè)計(jì)

2.1 系統(tǒng)的功能簡介

本文以溫控系統(tǒng)為背景作介紹,F(xiàn)場的嵌入式計(jì)算機(jī)的模擬量采集模塊和數(shù)字量采集模塊采集溫度濕度、以及執(zhí)行機(jī)構(gòu)的量狀態(tài),經(jīng)自身的MCU(微控器)進(jìn)行簡單的處理后,經(jīng)串行通訊的方式,將這些數(shù)據(jù)上傳至微機(jī),微機(jī)則先將模擬量資料存入數(shù)據(jù)庫中(為了中長期地跟蹤溫控系統(tǒng)的控制效果,便于以后的分析),再通過控制算法來計(jì)算輸出控制量,并通過通訊下傳到嵌入式計(jì)算機(jī)中,然后再由其控制量輸出至相應(yīng)的執(zhí)行機(jī)構(gòu)進(jìn)行控制。整個系統(tǒng)這樣設(shè)計(jì)的優(yōu)點(diǎn)在于:通過微機(jī)上的圖形控制接口,生動實(shí)時地向用戶顯示控制對象的情況;友好的用戶接口使得用戶可以在微機(jī)上直接手動輸出來控制被控對象;同時又發(fā)揮了嵌入式計(jì)算機(jī)系統(tǒng)的穩(wěn)定性、可靠性和高度靈活性等特點(diǎn)。

2.2 嵌入式計(jì)算機(jī)的硬件結(jié)構(gòu)

嵌入式計(jì)算機(jī)系統(tǒng)由以下幾部分組成:模擬量采集部分,數(shù)字量采集部分及輸出部分,通訊部分和微控器的控制部分。

模擬量采集部分最少可以采集32路的模擬量,并可以通過硬件的跳線設(shè)置最多采集64路的模擬量。通過模擬的切換,可以將模擬量信號經(jīng)過A/D芯片轉(zhuǎn)化為數(shù)字量信號,再做進(jìn)一步的處理。A/D芯片用的是德州儀器公司( InstrumentsIncorporation)的。是漸次逼近式的A/D轉(zhuǎn)換器,具有12位的精度,可以同時對11路信號進(jìn)行轉(zhuǎn)換。數(shù)字量采集部分及輸出部分使用了芯片,通過軟件對進(jìn)行設(shè)置來選擇數(shù)字量的輸入與輸出的方向。通訊部分將MCU的TTL電平轉(zhuǎn)換為進(jìn)行RS-485通訊所需的485電平。微控器的控制部分的作用是:對模擬量采集部分、數(shù)字量采集部分及輸出部分、以及通訊部分進(jìn)行協(xié)調(diào)控制,同時可以接受用戶的按鍵輸入,它也將負(fù)責(zé)將采集到的模擬量轉(zhuǎn)換后,在現(xiàn)場的上顯示出來。系統(tǒng)框圖如圖1所示。



2.3 嵌入式計(jì)算機(jī)的通訊部分硬件設(shè)計(jì)

通訊部分將MCU的TTL電平轉(zhuǎn)換為進(jìn)行RS-485通訊所需的485電平,進(jìn)行電平轉(zhuǎn)換的是。是一種完全電氣隔離的/數(shù)據(jù)通信接口,在一個標(biāo)準(zhǔn)的封裝中有完整的接口,包括收發(fā)器、光耦合器和,邏輯側(cè)的單電源+5V給接口兩側(cè)供電。信號于電源在內(nèi)部跨過隔離層進(jìn)行傳送,電源通過中心抽頭的從隔離層的邏輯側(cè)(非隔離側(cè))變換至隔離側(cè),信號由高速的光耦合器從隔離的一側(cè)傳至另一側(cè)。具有有限斜率驅(qū)動器,即驅(qū)動器發(fā)送的數(shù)字信號,其邊沿斜率是受限制的,以使電磁干擾(EMI)最小,且能減小由于終端不匹配而引起的反射,在數(shù)據(jù)速率高達(dá)250kbps時能做到無誤差的數(shù)據(jù)傳送。驅(qū)動器具有限制短路電流的功能,并使用熱關(guān)閉電路保護(hù),使之功耗不致過大。熱關(guān)閉電路可把驅(qū)動器的輸出置于高阻狀態(tài),接收器輸入端具有故障保護(hù)的特性,如果輸入開路,可保證輸出為高點(diǎn)平。MCU與的硬件接口如圖2所示。

2.4 嵌入式計(jì)算機(jī)的通訊部分軟件設(shè)計(jì)

由于嵌入式計(jì)算機(jī)系統(tǒng)中的微控器(MCU)是,要和PC機(jī)進(jìn)行通訊,必須對微控器的串行口進(jìn)行初始化,設(shè)置通訊方式(協(xié)議)、通訊速度、傳送的資料格式和長度,然后打開通訊口進(jìn)行通訊。嵌入式計(jì)算機(jī)系統(tǒng)中的編程語言使用的是KEILINCORPORATION公司的KeilC6.12。通訊部分的軟件流程如圖3所示。

相應(yīng)的重要通訊代碼:





3 平臺上的串行通訊程序

為了和嵌入式計(jì)算機(jī)進(jìn)行485通訊,所以在上位微機(jī)中我們采用了研華工控的基于ISA的485電平轉(zhuǎn)換板卡。在視窗98操作系統(tǒng)下,操作系統(tǒng)全面地接管了PC機(jī)的硬件系統(tǒng),所以在下,通過自己編寫低層端口的驅(qū)動程序?qū)⑹致闊。而VisualBasic6.0中的MSComm則解決了開發(fā)者對Windows管理低層硬件不熟悉的問題。所以我們使用VisualBasic6.0中的MSComm來編制通訊程序。VB中的MSComm為應(yīng)用程序提供了串行通訊功能,它通過串行口發(fā)送和接收數(shù)據(jù),非常方便地實(shí)現(xiàn)串行通訊。MSComm控件提供了一系列的標(biāo)準(zhǔn)通訊命令的使用界面。使用它可以建立與串行口的連接,通過串行口連接到通訊設(shè)備,進(jìn)行數(shù)據(jù)交換,以及監(jiān)視和響應(yīng)串行連接中發(fā)生的事件和錯誤。下面先來介紹一下MSComm的一些屬性和事件,見表1。







OnComm事件是MSComm中的唯一的一個事件。無論何時當(dāng)CommEvent屬性的值變化時,就產(chǎn)生OnComm事件,標(biāo)志發(fā)生了一個通訊事件或一個錯誤。

在屬性中,根據(jù)筆者的調(diào)試經(jīng)驗(yàn)有以下兩點(diǎn)值得注意:

(1)Input屬性和InputMode屬性之間的關(guān)系:
InputMode屬性確定用Input屬性讀取的數(shù)據(jù)類型。如果設(shè)置InputMode為comInputModeText,Input屬性通過一個Variant返回文本數(shù)據(jù)。如果設(shè)置InputMode為comInputModeBinary,Input屬性通過一個Variant返回一二進(jìn)制數(shù)據(jù)的數(shù)組。因?yàn),根?jù)本系統(tǒng)的通訊協(xié)議要求,通訊中數(shù)據(jù)部分的數(shù)值可能會大于127,而comInputModeText方式采用編碼,其最大值只有127,所以要用comInputModeBinary方式。


(2)屬性討論:屬性可以傳輸文本數(shù)據(jù)或二進(jìn)制數(shù)據(jù)。用屬性傳輸文本數(shù)據(jù),必須定義一個包含一個字符串的Variant。而字符串中的字符也是用編碼,這樣也不符合通訊協(xié)議的要求。所以要用Output屬性傳輸二進(jìn)制數(shù)據(jù),這樣才能與符合通訊協(xié)議的要求。發(fā)送二進(jìn)制數(shù)據(jù),必須傳遞一個包含字節(jié)數(shù)組的Variant到Output屬性。具體發(fā)送做法如下:











4 結(jié)束語

本系統(tǒng)在實(shí)際應(yīng)用中,運(yùn)行穩(wěn)定,得到了用戶的好評。由嵌入式計(jì)算機(jī)和微機(jī)(PC)組成的系統(tǒng),通過發(fā)揮各自的長處,并通過串行通訊相連,極大地提高了系統(tǒng)的穩(wěn)定性和可靠性,同時從成本的角度來考慮,它也是經(jīng)濟(jì)實(shí)惠的,高性價比的。



回復(fù)

使用道具 舉報

發(fā)表回復(fù)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表