www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于Lab Windows/CVI的PC與 DSP的串行通信


0 引言
    隨著數(shù)字信號(hào)處理理論及微電子技術(shù)的高速發(fā)展,數(shù)字信號(hào)處理器(DSP)已廣泛應(yīng)用于各個(gè)控制領(lǐng)域。而在控制系統(tǒng)中,通常會(huì)利用PC機(jī)與DSP之間的通信來對系統(tǒng)各個(gè)狀態(tài)/參數(shù)進(jìn)行監(jiān)控。這種方法既利用了DSP功耗低、價(jià)格相對便宜、功能強(qiáng)大、抗干擾能力強(qiáng)、適宜于分布現(xiàn)場等優(yōu)點(diǎn),同時(shí)又結(jié)合了PC機(jī)的軟硬件資源豐富、管理功能強(qiáng)大、人機(jī)界面友好、操控平臺(tái)穩(wěn)定可靠、數(shù)據(jù)通信方便快捷等系統(tǒng)功能優(yōu)勢。為此,本文擬通過使用比較廣泛的RS-232-C接口標(biāo)準(zhǔn)來研究PC與TMS320F2812 DSP之間的異步串行通信


1 硬件設(shè)計(jì)
    這里采用最簡單的三線連接方法,即PC機(jī)與DSP的發(fā)送、接收端彼此交叉連接,地線對應(yīng)連接的方法。另外,由于DSP的串行通信接口SCI的兩個(gè)外部引腳SCITXD和SCIRXD的信號(hào)為TTL電平,與RS-232-C標(biāo)準(zhǔn)邏輯電平不一致,因此,要進(jìn)行信號(hào)電平轉(zhuǎn)換后才能連接到PC機(jī)的串口接頭DB9,圖1所示是其硬件連接電路,其中電平轉(zhuǎn)換選用MAX3232芯片和若干電容來實(shí)現(xiàn),使用時(shí)只用其中的一對收/發(fā)單元。

2 軟件設(shè)計(jì)
2.1 通信協(xié)議
    本設(shè)計(jì)將通信的幀格式設(shè)置為1個(gè)起始位,8個(gè)數(shù)據(jù)位,無奇偶校驗(yàn)位,1個(gè)停止位。圖2所示為其數(shù)據(jù)幀格式,其傳輸波特率為9600 bps,采用全雙工通信方法。

    PC機(jī)發(fā)送數(shù)據(jù)包的格式是:包頭+功能碼+參數(shù)碼+數(shù)據(jù)內(nèi)容+校驗(yàn)和,本設(shè)計(jì)分別設(shè)置它們占1、2、2、4、4個(gè)字節(jié)。其中包頭是一個(gè)數(shù)據(jù)包開始的標(biāo)志,這里設(shè)置為字符’~’;功能碼表示本次通信要完成的操作,其中”01”表示向DSP發(fā)送參數(shù),”02”表示讓DSP回傳數(shù)據(jù);參數(shù)碼表示通信傳送的數(shù)據(jù)類別,”01”表示要傳送P參數(shù),”02”表示要傳送I參數(shù),”03”表示要傳送D參數(shù)。假如通過PC機(jī)來設(shè)置DSP中數(shù)字PID控制程序的參數(shù)P為15.20,可以設(shè)定數(shù)據(jù)的量綱為1:100,那么就應(yīng)當(dāng)發(fā)送15.20×100=1520=05F0H,即依次發(fā)送字符’0’=30H、’5’=35H、’F’=46H、’0’=30H;且在前面發(fā)送的字符串為”~010105F0”。校驗(yàn)和的計(jì)算是把從功能碼到數(shù)據(jù)內(nèi)容己經(jīng)轉(zhuǎn)換為ASCII碼的全部字節(jié)連續(xù)累加,其值為7EH+30H+31H+30H+31H+30H+35H+46H+30H=021BH,所以,PC向DSP發(fā)送完整的數(shù)據(jù)包為字符串”~010105F0021B”,其格式如圖3所示。

    DSP上傳電流、電壓、頻率等實(shí)時(shí)數(shù)據(jù)的數(shù)據(jù)包格式與圖3類似,但它可以不使用功能碼或參數(shù)碼。如頻率數(shù)據(jù)包的包頭采用字符’*’,電流數(shù)據(jù)包的包頭采用字符’#’,以示區(qū)別即可。[!--empirenews.page--]
2.2 上位機(jī)PC端程序
    PC機(jī)主要完成三部分工作:一是對從機(jī)進(jìn)行控制(比如修改參數(shù)),二是對從機(jī)采集的數(shù)據(jù)進(jìn)行處理和數(shù)值計(jì)算,三是向用戶提供友好、美觀的儀器界面。以上功能均可依靠軟件實(shí)現(xiàn)。上位機(jī)軟件既可以使用Visual C++、VisualBasic等通用的開發(fā)工具,也可以使用LabWin-dows/CVI、LabView等專用于計(jì)算機(jī)測控領(lǐng)域的虛擬儀器軟件開發(fā)平臺(tái)。LabWindows/CVI是NI公司開發(fā)的32位、以ANSI C為核心的交互式虛擬儀器開發(fā)環(huán)境,它將功能強(qiáng)大的C語言與測試技術(shù)相結(jié)合,具有靈活的交互式編程方法和豐富的庫函數(shù),可為開發(fā)人員建立監(jiān)測、自動(dòng)測試、數(shù)據(jù)采集、過程監(jiān)控等系統(tǒng)提供理想的軟件開發(fā)環(huán)境,是實(shí)現(xiàn)虛擬儀器及網(wǎng)絡(luò)化儀器的快速途徑。由于其簡單易學(xué),故可大大縮短開發(fā)周期。LabWindows/CVI具有專門用于RS-232串行通信的函數(shù)庫,主要包括:串行口打開/關(guān)閉函數(shù)(OpenCom/OpenComConfig和CloseCom)、串行口輸入/輸出函數(shù)(ComRd、ComRdByte、ComWrt、ComWrtByte)、串行口控制函數(shù)(FlushInQ、FlushOutQ)、串行口狀態(tài)查詢函數(shù)(GetInQLen、GetOutQLen)、串行口事件處理函數(shù)(InstallCom-Callback)等5大類。以下是程序部分代碼:
    主函數(shù):


    PC機(jī)發(fā)送程序:
    PC機(jī)要能向DSP發(fā)送控制命令,比如開機(jī),關(guān)機(jī),修改參數(shù)等,下面以修改PID控制參數(shù)P為例。

[!--empirenews.page--]


2.3 下位機(jī)DSP程序
    DSP的軟件開發(fā)可利用集成開發(fā)環(huán)境CCS3.1(Code Composer Studio),并采用C語言進(jìn)行編程。利用DSP的SCI模塊實(shí)現(xiàn)串行通信的主程序流程圖如圖4所示。DSP的串行通信程序設(shè)計(jì)可采用查詢法或中斷法來進(jìn)行數(shù)據(jù)的收發(fā),這里采用中斷方式接收數(shù)據(jù),而用查詢方式發(fā)送數(shù)據(jù)。DSP收到PC機(jī)發(fā)送來的數(shù)據(jù)時(shí),便轉(zhuǎn)入相應(yīng)的中斷子程序,其中斷服務(wù)子程序流程如圖5所示。其串口SCI初始化配置如下:

    void SCI_Init(void)
    {
    SciaRegs.SCICCR.a(chǎn)ll=0x0007;//字符長度8位
    SciaRegs.SCICTL1.a(chǎn)ll=0x0003;//使能發(fā)送和接收
    SciaRegs.SCICTL2.a(chǎn)ll=0x0002; //使能接收中斷,禁止發(fā)送中斷
    SciaRegs.SCIHBAUD=0x00;//置波特率高8位
    SciaRegs.SCIHBAUD=0xF3;//置波特率低8位
    SciaRegs.SCICTL1.a(chǎn)ll=0x23;//使SCI退出復(fù)位
    }
    DSP收到字符串”~010105F0019D”之后,首先進(jìn)行和校驗(yàn)。如果正確,則根據(jù)功能碼和參數(shù)碼判斷PC機(jī)發(fā)送的是否是修改參數(shù)P的命令。然后提取數(shù)據(jù)”05F0‘’,將其轉(zhuǎn)換為十進(jìn)制數(shù)1520,再除以100即得到要設(shè)置的P值15.20;如果和校驗(yàn)出錯(cuò),則要求主機(jī)重發(fā)。若PC機(jī)發(fā)送的是上傳數(shù)據(jù)的命令,則將發(fā)送標(biāo)志變量send_flag置1,這樣,在主循環(huán)中,經(jīng)過判斷后,便可向PC機(jī)發(fā)送數(shù)據(jù)。


3 結(jié)束語
    本文利用LabWindows/CVI開發(fā)平臺(tái)編寫了上位機(jī)PC程序,同時(shí)利用CCS3.1開發(fā)環(huán)境編寫下位機(jī)DSP程序,然后通過RS232總線進(jìn)行串行通信。利用這種方法設(shè)計(jì)的PC機(jī)與DSP的串行通信系統(tǒng)具有硬件結(jié)構(gòu)簡單、成本低、實(shí)現(xiàn)容易等特點(diǎn),并具有良好的可移植性和可擴(kuò)展性,能夠很好地滿足PC與DSP的通信需求。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

近日,一個(gè)存在于Windows Mark of the Web (MotW)中的零日漏洞被發(fā)現(xiàn),并正在被攻擊者積極利用。但有趣的是,在微軟官方還沒有對該漏洞做出修復(fù)之前,第三方平臺(tái)0patch就提供了該漏洞的修復(fù)補(bǔ)丁。據(jù)...

關(guān)鍵字: PATCH Windows 微軟 APP

香港2022年10月11日 /美通社/ -- 有光科技 (Fano Labs) 欣然宣布,公司已獲得AEF大灣區(qū)創(chuàng)業(yè)基金(由戈壁大灣區(qū)管理)幾百萬美元投資,以拓展大灣區(qū)及東南亞業(yè)務(wù)。這次融資輪亦獲得新視資本投資。...

關(guān)鍵字: ABS LAB AN BSP

有光科技(Fano Labs)宣布,公司已獲得AEF大灣區(qū)創(chuàng)業(yè)基金(由戈壁大灣區(qū)管理)幾百萬美元投資,以拓展大灣區(qū)及東南亞業(yè)務(wù)。這次融資輪亦獲得新視資本投資。有光科技是扎根香港的人工智能公司,專精于語音識(shí)別、話者分離、聲...

關(guān)鍵字: ABS LAB 人工智能 語音識(shí)別

(全球TMT2022年9月22日訊)Granite River Labs(簡稱"GRL")日前宣布,其位于中國東莞的實(shí)驗(yàn)室已獲英特爾公司(Intel? Corporation)授權(quán),可為Windows系統(tǒng)平臺(tái)開展Thu...

關(guān)鍵字: Windows THUNDERBOLT ST OS

GRL東莞實(shí)驗(yàn)室將與上海和臺(tái)北實(shí)驗(yàn)室一同,提供Windows Host認(rèn)證服務(wù) 加利福尼亞州圣克拉拉市2022年9月22日 /美通社/ -- 高速信號(hào)和充電技術(shù)測...

關(guān)鍵字: Windows THUNDERBOLT USB OS

攜手Voyager Space提升太空賓客體驗(yàn) 美國丹佛和麥克林恩2022年9月21日 /美通社/ -- 希爾頓集團(tuán)將成為空間探索領(lǐng)域的全球領(lǐng)先機(jī)構(gòu) Voyager Space("Voyager")...

關(guān)鍵字: LAB 空間站 ST BSP

摘要:主要介紹了應(yīng)用DSP的電能質(zhì)量檢測系統(tǒng)的硬件電路及軟件開發(fā)工具,對采集來的某電鐵電流信號(hào)進(jìn)行了電能質(zhì)量檢測,并開展了實(shí)際實(shí)驗(yàn)嘗試。實(shí)驗(yàn)結(jié)果顯示,實(shí)際信號(hào)含有大量諧波,但通過應(yīng)用DSP的電能質(zhì)量檢測系統(tǒng)成功檢測到了它...

關(guān)鍵字: 電能質(zhì)量檢測 Matlab仿真 DSP

隨著生活水平的提高,大家都想從生活壓力中釋放出來,越來越多的人向往戶外運(yùn)動(dòng)、露營等,在大自然的擁抱中釋放壓力,解放自我,從而成為戶外旅行火熱的原因之一。因此,很多音箱廠商都開始推出針對戶外的戶外藍(lán)牙音箱。但是市面上的藍(lán)牙...

關(guān)鍵字: PD快充 I2S DSP IC

(全球TMT2022年8月18日訊)數(shù)字解決方案公司Marlabs Inc.宣布,在"ISG Provider Lens™ MarTech Services 2022 Research"的六個(gè)類別評(píng)選中,...

關(guān)鍵字: ABS LAB TE IDE

谷歌為Pixel用戶(Pixel 4、4a、5、5a和6系列等)送出驚喜,Android 13首個(gè)穩(wěn)定版正式推送。

關(guān)鍵字: 谷歌 Android13 Windows

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉