• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    PC機(jī)與單片機(jī)間串行通信優(yōu)化控制方法

    2023-10-30 09:45:56楊韶斌竇忠國(guó)
    關(guān)鍵詞:數(shù)據(jù)量中斷上位

    楊韶斌 竇忠國(guó)

    (肇慶市四會(huì)中等專業(yè)學(xué)校,廣東 肇慶 526200)

    在工業(yè)控制中,需要經(jīng)常建立一個(gè)由上位機(jī)和下位機(jī)組成的系統(tǒng),并通過上位機(jī)實(shí)現(xiàn)對(duì)多個(gè)下位機(jī)的控制。由于上位機(jī)與下位機(jī)之間的距離較遠(yuǎn),因此需要進(jìn)行上位機(jī)與下位機(jī)間的串行通信。上位機(jī)通常為PC 機(jī),下位機(jī)通常為單片機(jī),因此經(jīng)常會(huì)不可避免地出現(xiàn)PC 機(jī)與單片機(jī)之間的串行通信問題[1]。目前PC 機(jī)的研發(fā)與應(yīng)用已經(jīng)使其具備了極強(qiáng)的監(jiān)控和管理能力,而單片機(jī)在實(shí)際應(yīng)用中具備了快速和容易被控制等特點(diǎn)。因此在實(shí)際應(yīng)用中,通常都是通過PC 機(jī)串行接口與多個(gè)單片機(jī)相連接來實(shí)現(xiàn)對(duì)數(shù)據(jù)的傳輸[2-3]?;谠撎攸c(diǎn),為了實(shí)現(xiàn)PC 機(jī)與單片機(jī)間的串行通信控制,該文提出了一種全新的優(yōu)化控制方法。

    1 PC 機(jī)與單片機(jī)通信連接設(shè)計(jì)

    為了實(shí)現(xiàn)PC 機(jī)與單片機(jī)之間的串行通信,采用RS-485 接口,該解耦器與TTL 電平相兼容,具有10Mbit/s 的數(shù)據(jù)傳輸速度,并具有較強(qiáng)的抗共模噪聲干擾能力,將其引入PC 機(jī)與單片機(jī)通信連接結(jié)構(gòu)上。PC 機(jī)與單片機(jī)通信連接結(jié)構(gòu)示意圖如圖1所示。

    圖1 PC 機(jī)與單片機(jī)通信連接結(jié)構(gòu)示意圖

    此外,RS-232 接口只能在總線上與一個(gè)收發(fā)機(jī)相連,也就是一個(gè)單站的功能。而RS-485 的接口最多可以連接128 臺(tái)收發(fā)信機(jī),即具備多個(gè)基站的功能,使使用者能夠較容易地使用一個(gè)RS-485 接口來組建一個(gè)設(shè)備網(wǎng)絡(luò)[4]。因此,RS-485 接口是PC 和MCU 間串行通信的首選。根據(jù)上述論述,由于PC 機(jī)的串口選用了RS232 電平信號(hào),因此在單片機(jī)與PC機(jī)之間需要加裝一個(gè)能夠?qū)崿F(xiàn)RS-232與RS-485 轉(zhuǎn)換的接口。根據(jù)上述內(nèi)容,完成對(duì)PC 機(jī)與單片機(jī)通信連接設(shè)計(jì)。

    2 通信程序優(yōu)化設(shè)計(jì)

    在下位機(jī)中,通過查找和中斷2 種方式實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接收。不管采用何種方法,它的串行數(shù)據(jù)的傳輸僅(利用MOVSBUF.A 指令)將數(shù)據(jù)從累加器轉(zhuǎn)移到串口緩沖區(qū)寄存器即可。其串行數(shù)據(jù)的接收僅需將數(shù)據(jù)從串口緩沖區(qū)寄存器傳輸?shù)嚼奂悠鳎ú捎肕OVA、SBUF 指令)[5]。在具體的使用過程中,通常使用中斷的方法來實(shí)現(xiàn)與上位機(jī)的通信。而上位機(jī)作為主控方,當(dāng)接收到上位機(jī)發(fā)送的地址信息后,將該信息傳輸給相應(yīng)的中斷服務(wù)子程序,然后與上位機(jī)進(jìn)行通信。它接收一個(gè)中斷服務(wù)子例程的過程如下:第一步,關(guān)中斷,現(xiàn)場(chǎng)保護(hù)。第二步,接收來自PC機(jī)發(fā)送的地址。第三步,判斷該地址是否為本機(jī)地址,如果是則進(jìn)行下一步操作;如果不是則直接進(jìn)行現(xiàn)場(chǎng)恢復(fù)并開啟中斷。第四步,接收判斷為本機(jī)地址的數(shù)據(jù)。第五步,判斷數(shù)據(jù)是否接收完畢,如果接收完畢,則直接恢復(fù)現(xiàn)場(chǎng),開啟中斷;如果未接收完畢,則需要返回第四步,直到完成對(duì)所有數(shù)據(jù)接收。最后恢復(fù)現(xiàn)場(chǎng),開啟中斷,完成下位機(jī)接收中斷服務(wù)子程序流程。上述流程也適用于多個(gè)單片機(jī)的通信。

    該文利用可視化語(yǔ)言編寫了PC 機(jī)的串口通信程序。Windows 的支持使串口裝置被包裝為MSComm 控件,非常便于VisualBasic 程序?qū)Υ诘目刂芠6]。利用MSComm控制器,可以較容易地完成微機(jī)與微機(jī)以及微機(jī)與其外圍設(shè)備之間的通信,具體操作步驟如下:選擇可以添加的MSComm 控件,啟動(dòng)VisualBasic,并在彈出的Project 菜單中選擇對(duì)應(yīng)的Components 選項(xiàng),選擇所需的控件。然后從工具欄中選擇電話機(jī)圖標(biāo),將其拖拽到窗體中,單擊鼠標(biāo)右鍵,在彈出的串口屬性對(duì)話框中完成對(duì)各項(xiàng)屬性的設(shè)置。MSComm 控制中最重要的通信事件就是OnComm,而串行通信的一切都可以由程序來處理。通過OnComm事件,也可以不使用程序?qū)崟r(shí)監(jiān)控輸入緩沖區(qū),只要有數(shù)據(jù)傳輸,就可以引發(fā)OnCom 事件,實(shí)現(xiàn)通信數(shù)據(jù)的自動(dòng)處理[7]。

    3 串行異步通信與串行同步通信控制

    串行通信通常以比特為單位,逐位完成對(duì)數(shù)據(jù)的傳輸。假設(shè)并行通信傳送N位數(shù)據(jù)所需的時(shí)間是T,則串行通信所需時(shí)間如公式(1)所示。

    式中:T'min為串行通信需要的最少時(shí)間。

    串行通信由于每次只能傳送一比特,而且都是統(tǒng)一的電壓,因此很難出現(xiàn)數(shù)據(jù)丟失的情況。如果采取一定的保護(hù)措施,則串口通信的抗干擾性就會(huì)有較大增強(qiáng)。此外,其所需的傳輸線路較少,可以大幅減少經(jīng)濟(jì)費(fèi)用,特別適用于長(zhǎng)距離通信傳輸[8]。根據(jù)串行通信的特性,將串行通信分為串行異步通信與同步通信2 個(gè)部分。

    在串行異步通信控制的過程中,進(jìn)行數(shù)據(jù)傳送時(shí)采用了獨(dú)立的字節(jié)模式,每個(gè)字節(jié)前面有一個(gè)開始信號(hào),字節(jié)后面有一個(gè)或多個(gè)結(jié)束信號(hào)[9]。為確保同步接收機(jī)的起止信號(hào)被利用,在有標(biāo)簽的地方,傳送線路是空閑的,每字節(jié)傳送一次,其前方的起始比特就會(huì)從一位元傳送到一位元傳送,這一傳送代表著一位元傳送的開始。發(fā)送結(jié)束時(shí),發(fā)送線路通過一個(gè)或更多的終結(jié)位恢復(fù)到標(biāo)記狀態(tài)。此時(shí)傳送器即可以傳送下一個(gè)位字節(jié)。針對(duì)串行異步通信進(jìn)行編碼,其起始位占用1 位,字符編碼占用7 位,第8 位為奇偶校驗(yàn)位,如圖2所示。

    圖2 串行異步通信控制字符格式

    同時(shí),在串行異步通信控制過程中,每次發(fā)送一個(gè)字符,都必須同步附加一個(gè)標(biāo)志信息在字符中。

    針對(duì)串行同步通信的控制,把這些字符串串起來,組成一個(gè)完整的數(shù)據(jù)塊。進(jìn)行串行同步通信時(shí),還需要在數(shù)據(jù)塊前增加一個(gè)特殊的同步字符,并將組合后的字符作為串行同步頭通信起始信號(hào)。在一組數(shù)據(jù)后加上一個(gè)檢查符號(hào),以檢查通信中是否有錯(cuò)誤。在同步通信中,字符間不存在空格,因此可以達(dá)到數(shù)十至數(shù)百波特,但是需要一個(gè)時(shí)鐘來完成收發(fā)雙方的同步。串行同步通信控制字符格式如圖3所示。

    圖3 串行同步通信控制字符格式

    根據(jù)實(shí)際PC 機(jī)與單片機(jī)的串行通信需要,選擇異步通信或同步通信。進(jìn)行通信前,先控制定時(shí)器、串行口進(jìn)入初始化狀態(tài),然后將地址指針寄存器、程度計(jì)數(shù)器、校驗(yàn)和寄存器等設(shè)置為初始值,判斷是否發(fā)送緩沖器為空。如果為空則返回,不為空則接收回答信號(hào)。再判定傳輸是否正確,如果不正確則返回,正確則結(jié)束單片機(jī)的傳輸。

    4 優(yōu)化前、后試驗(yàn)研究

    4.1 試驗(yàn)準(zhǔn)備

    為對(duì)該文上述控制方法應(yīng)用效果進(jìn)行驗(yàn)證,進(jìn)行下述優(yōu)化前、后的對(duì)比試驗(yàn)研究。在試驗(yàn)前,準(zhǔn)備51 單片機(jī)(AT58C40)、數(shù)據(jù)存儲(chǔ)器(6264)和5×8的矩陣鍵盤。利用電平轉(zhuǎn)換芯片轉(zhuǎn)換為RS485 和TTL 接口能夠識(shí)別的電平,通過串口傳輸?shù)缴衔粰C(jī)上。利用VB/VC 編程在PC 機(jī)上顯示所有接收和發(fā)送的通信數(shù)據(jù)。通過上述操作,可以實(shí)現(xiàn)對(duì)試驗(yàn)中產(chǎn)生的各項(xiàng)參數(shù),例如通信發(fā)送與接收時(shí)間等數(shù)據(jù)的統(tǒng)計(jì),為對(duì)比后續(xù)試驗(yàn)結(jié)果提供依據(jù)。在該基礎(chǔ)上,還需設(shè)定串口主控件MSCOMM 的參數(shù)。將一個(gè)通信對(duì)象MSCOMM 用于串行通信,設(shè)定通信端口編號(hào)為1,設(shè)定通信協(xié)定handshaking=0。將發(fā)送速率及其他參數(shù)設(shè)定為SETTINGS=4800、n、8、1。開啟通信端口,設(shè) PORTOPEN 為ture。完成上述設(shè)置后,進(jìn)行PC 機(jī)與單片機(jī)之間的串行通信,并分別從優(yōu)化前、后串行通信傳輸速度方面和優(yōu)化前、后串行通信質(zhì)量方面,驗(yàn)證優(yōu)化控制方法的應(yīng)用可行性。

    4.2 優(yōu)化前、后串行通信傳輸速度對(duì)比

    完成上述試驗(yàn)準(zhǔn)備后,對(duì)比控制方法優(yōu)化前、后在應(yīng)用中PC 機(jī)與單片機(jī)間串行通信數(shù)據(jù)量。分別設(shè)置5 組條件,5組不同通信條件的基本信息見表1。

    表1 5 組串行通信條件設(shè)置

    在上述5 組串行通信傳輸過程中,分別利用優(yōu)化前的控制方法和優(yōu)化后的控制方法對(duì)其進(jìn)行串行通信控制,通信數(shù)據(jù)量記錄見表2。

    表2 5 組串行通信應(yīng)用優(yōu)化前、后控制方法的通信數(shù)據(jù)量

    從表2 中的2 組串行通信數(shù)據(jù)量對(duì)比可以看出,在優(yōu)化前控制方法應(yīng)用下,其串行通信數(shù)據(jù)量最高為598.25YB,優(yōu)化后最高為865.32YB,最低也達(dá)到了826.26YB。在相同的傳輸時(shí)間條件下,優(yōu)化后控制方法應(yīng)用下的串行通信數(shù)據(jù)量明顯更大。因此,通過上述試驗(yàn)結(jié)果可以證明,優(yōu)化后的控制方法在實(shí)際應(yīng)用中可以有效提高PC 機(jī)與單片機(jī)之間串行通信的傳輸速度。

    4.3 優(yōu)化前、后串行通信質(zhì)量對(duì)比

    上述從串行通信傳輸?shù)乃俣确矫鎸?duì)比了優(yōu)化前、后控制方法的應(yīng)用性能。在該基礎(chǔ)上,針對(duì)優(yōu)化前、后控制方法應(yīng)用下PC 機(jī)與單片機(jī)之間串行通信質(zhì)量進(jìn)行對(duì)比。選擇將串行通信過程中產(chǎn)生的信干噪比為評(píng)價(jià)指標(biāo),信干噪比是指串行通信過程中正常通信信號(hào)與干擾、噪聲等信號(hào)之和之間的比值,如公式(2)所示。

    式中:S為信干噪比;W1為正常通信信號(hào)有效傳輸功率;W2為干擾信號(hào)有效傳輸功率;W3為噪聲信號(hào)有效傳輸功率。

    通過計(jì)算得出的信干噪比S,取值越大,說明串行通信中的正常信號(hào)占比越大,通信質(zhì)量越優(yōu);取值越小,說明串行通信中干擾信號(hào)和噪聲信號(hào)占比越大,通信質(zhì)量越差。以表1 中編號(hào)為TX-#01 的通信組合為例,由PC 機(jī)A 發(fā)送通信信號(hào),由單片機(jī)A 接收通信信號(hào),將其通信時(shí)間控制為50s,記錄50s 內(nèi)優(yōu)化前、后控制方法應(yīng)用下的2 組信干噪比,結(jié)果如圖4所示。

    圖4 優(yōu)化前、后串行通信質(zhì)量對(duì)比圖

    從圖4 中得到的結(jié)果可以看出,在優(yōu)化前、后控制方法應(yīng)用下,信干噪比均呈現(xiàn)出先增加、后降低的變化趨勢(shì),但優(yōu)化后控制方法應(yīng)用下的信干噪比始終高于另一組。因此,上述試驗(yàn)結(jié)果可以證明,應(yīng)用優(yōu)化后的控制方法,串行通信質(zhì)量得到了顯著提升。

    5 結(jié)語(yǔ)

    該文針對(duì)PC 機(jī)與單片機(jī)之間的串行通信需要提出了一種全新的優(yōu)化控制方法,并對(duì)比優(yōu)化前、后的應(yīng)用效果證明了優(yōu)化后控制方法的應(yīng)用可行性。在實(shí)際應(yīng)用中,如果存在多個(gè)控制對(duì)象,則可以在該文優(yōu)化控制方法應(yīng)用的基礎(chǔ)上構(gòu)成集散結(jié)構(gòu),實(shí)現(xiàn)一臺(tái)PC 機(jī)和多個(gè)單片機(jī)的同步控制,為單片機(jī)應(yīng)用適應(yīng)性提升提供更有利的條件。

    猜你喜歡
    數(shù)據(jù)量中斷上位
    基于大數(shù)據(jù)量的初至層析成像算法優(yōu)化
    計(jì)算Lyapunov指數(shù)的模糊C均值聚類小數(shù)據(jù)量法
    高刷新率不容易顯示器需求與接口標(biāo)準(zhǔn)帶寬
    寬帶信號(hào)采集與大數(shù)據(jù)量傳輸系統(tǒng)設(shè)計(jì)與研究
    電子制作(2019年13期)2020-01-14 03:15:18
    特斯拉 風(fēng)云之老阿姨上位
    車迷(2018年12期)2018-07-26 00:42:22
    跟蹤導(dǎo)練(二)(5)
    千里移防,衛(wèi)勤保障不中斷
    解放軍健康(2017年5期)2017-08-01 06:27:44
    “三扶”齊上位 決戰(zhàn)必打贏
    基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
    以新思路促推現(xiàn)代農(nóng)業(yè)上位
    香港| 贵定县| 霍林郭勒市| 怀集县| 台南市| 当雄县| 仪征市| 肇东市| 都匀市| 东辽县| 商丘市| 轮台县| 荥经县| 阿城市| 新乡县| 乐亭县| 建阳市| 石渠县| 永寿县| 崇左市| 米易县| 商洛市| 宁阳县| 牟定县| 教育| 兴隆县| 达日县| 武山县| 壤塘县| 衡阳市| 忻城县| 拉萨市| 博湖县| 滨州市| 茌平县| 江口县| 景泰县| 黑水县| 临安市| 汉沽区| 瑞金市|