控制交互系統(tǒng)中繼控制卡的制作方法
【專(zhuān)利摘要】本發(fā)明涉及一種控制交互系統(tǒng)中繼控制卡,屬于嵌入式系統(tǒng)領(lǐng)域。該設(shè)備使用通用串行總線(xiàn)與高性能嵌入式系統(tǒng)主處理器和微處理器通信,設(shè)備的程序代碼固定接受上級(jí)微處理器信號(hào)并做出反應(yīng)的程序,設(shè)備配有一個(gè)包含有串口驅(qū)動(dòng)信息與控制信號(hào)信息的開(kāi)發(fā)庫(kù)。該發(fā)明分離了嵌入式系統(tǒng)的硬件驅(qū)動(dòng)層開(kāi)發(fā)與軟件算法層開(kāi)發(fā),可以加快開(kāi)發(fā)速度,使嵌入式設(shè)備系統(tǒng)層次更明確,更容易設(shè)計(jì),是一種給大型、復(fù)雜嵌入式系統(tǒng)設(shè)計(jì)領(lǐng)域帶來(lái)縮短開(kāi)發(fā)周期、減小開(kāi)發(fā)難度的新方法。該發(fā)明使用串行總線(xiàn)通信的方式工作,上位機(jī)不僅可以是配有高性能微處理器的嵌入式系統(tǒng),也可以是一般的計(jì)算機(jī)系統(tǒng),而一臺(tái)系統(tǒng)可以配備多個(gè)本設(shè)備而不改變?cè)熊浖Y(jié)構(gòu)。
【專(zhuān)利說(shuō)明】控制交互系統(tǒng)中繼控制卡
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種控制交互系統(tǒng)中繼控制卡,屬于嵌入式系統(tǒng)領(lǐng)域。
【背景技術(shù)】
[0002]高性能嵌入式系統(tǒng)一般包括人機(jī)交互系統(tǒng)、運(yùn)算處理系統(tǒng)與控制(包括信號(hào)采集)系統(tǒng)三部分。一般高性能系統(tǒng)的開(kāi)發(fā)使用高速微處理器作為核心進(jìn)行運(yùn)算處理并且連接交互與控制外圍器件,其中微控制器的與另外兩者可以是直接控制的方式(即理論上是一個(gè)微控制器在系統(tǒng)中起作用),也可以是間接方式,即微控制器通過(guò)另外的微控制器控制另兩者。前一種方式中微處理器直接與外圍設(shè)備相連接,設(shè)備通過(guò)微控制器硬件操作對(duì)外設(shè)進(jìn)行控制,代碼全部在微處理器的程序中。第二種方式中需要設(shè)計(jì)外圍微控制器的程序以及各處理器控制器的邏輯連接方式,微處理器負(fù)責(zé)提供控制信號(hào),微控制器具體操作外圍設(shè)備。
[0003]上述方案中,一般可以完成設(shè)計(jì)任務(wù),但是都存在明顯的缺點(diǎn):第一種方式消耗較多微處理器的GPIO 口、系統(tǒng)時(shí)間等資源,并且微處理器工作容易受到干擾。同時(shí)系統(tǒng)電路設(shè)計(jì)非常復(fù)雜,系統(tǒng)功耗很大。第二種方式設(shè)計(jì)復(fù)雜,很多程序需要了解各外圍微控制器的使用并且需要熟悉各外設(shè),同時(shí)這樣的設(shè)計(jì)邏輯很復(fù)雜,容易出現(xiàn)錯(cuò)誤。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種控制交互系統(tǒng)中繼控制卡,該控制卡可以與主流的高性能嵌入式系統(tǒng)接口,通過(guò)開(kāi)發(fā)庫(kù)與主系統(tǒng)程序進(jìn)行統(tǒng)一開(kāi)發(fā),共同實(shí)現(xiàn)系統(tǒng)功能,從而彌補(bǔ)高性能處理器在系統(tǒng)控制上的缺陷或減小多級(jí)系統(tǒng)的復(fù)雜性。
[0005]為了實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案如下。
[0006]一種控制交互系統(tǒng)中繼控制卡,使用通用串行總線(xiàn)與高性能嵌入式系統(tǒng)主處理器和微處理器通信,設(shè)備的程序代碼固定接受上級(jí)微處理器信號(hào)并做出反應(yīng)的程序,設(shè)備配有一個(gè)包含有串口驅(qū)動(dòng)信息與控制信號(hào)信息的開(kāi)發(fā)庫(kù)。這樣,在開(kāi)發(fā)微控制器相關(guān)程序時(shí)可以把主要微處理器程序與本設(shè)備卡程序當(dāng)作一個(gè)整體進(jìn)行開(kāi)發(fā)。
[0007]所述控制信號(hào)為格式固定的數(shù)據(jù)包,攜帶以下信息:操作類(lèi)型的說(shuō)明、要控制的寄存器的地址(或名稱(chēng))、想要對(duì)該寄存器進(jìn)行的操作說(shuō)明、與該操作相關(guān)的操作數(shù)、報(bào)文的固定開(kāi)始與結(jié)束字段。其中,所述操作類(lèi)型的說(shuō)明為讀取某一寄存器數(shù)據(jù)并通過(guò)串行總線(xiàn)發(fā)回值或者修改某一寄存器的值。所述對(duì)寄存器進(jìn)行的操作說(shuō)明包括讀取、寫(xiě)入、比較、修改一部分其中一種或者多種。所述操作相關(guān)的操作數(shù)為想要寫(xiě)入的數(shù)據(jù)或者想要累加的數(shù)據(jù)。
[0008]上述設(shè)備工作流程為:高性能微處理器程序開(kāi)發(fā)時(shí)使用本設(shè)備配套的開(kāi)發(fā)庫(kù),開(kāi)發(fā)庫(kù)提供了使用串行總線(xiàn)接口發(fā)送數(shù)據(jù)包的方法,以及生成數(shù)據(jù)包所需的信息和方法;高性能微處理器程序在工作到需要控制本設(shè)備時(shí),首先調(diào)用數(shù)據(jù)包生成方法與信息生成需要發(fā)送的數(shù)據(jù)包,數(shù)據(jù)包生成后使用串行總線(xiàn)接口發(fā)送數(shù)據(jù)包的方法將數(shù)據(jù)包發(fā)送給本設(shè)備,本設(shè)備在接到數(shù)據(jù)包后對(duì)其正確性進(jìn)行分析,對(duì)于正常情況下正確的數(shù)據(jù)包本設(shè)備將按照數(shù)據(jù)包中的要求進(jìn)行工作,工作完成后按照要求返回完成信號(hào)或上級(jí)高性能微控制器所需的數(shù)據(jù)。
[0009]上述控制卡中,主處理器是4咖7、4咖9、4咖113咖Cortex-A, ARM Cortex-R系列微控制器,其中ARM Cortex-R系列處理器采用其高性能部分;微處理器是ARM、AVR、80C51、STM8內(nèi)核中的任意一種微控制器。
[0010]該發(fā)明的有益效果在于:
[0011](I)分離了嵌入式系統(tǒng)的硬件驅(qū)動(dòng)層開(kāi)發(fā)與軟件算法層開(kāi)發(fā),可以加快開(kāi)發(fā)速度,使嵌入式設(shè)備系統(tǒng)層次更明確,更容易設(shè)計(jì),是一種給大型、復(fù)雜嵌入式系統(tǒng)設(shè)計(jì)領(lǐng)域帶來(lái)縮短開(kāi)發(fā)周期、減小開(kāi)發(fā)難度的新方法。
[0012](2)僅需在高性能微處理器上編寫(xiě)程序,但可以同時(shí)使用高性能微處理器與本設(shè)備上的資源,在不增加系統(tǒng)開(kāi)發(fā)復(fù)雜程度的情況下可以結(jié)合高性能微處理器運(yùn)算速度快與本設(shè)備上微控制器控制能力強(qiáng)、資源豐富的優(yōu)點(diǎn),同時(shí)使系統(tǒng)整體可以規(guī)避常規(guī)方案中高性能微處理器驅(qū)動(dòng)底層硬件容易出現(xiàn)干擾和不穩(wěn)定的問(wèn)題。這樣設(shè)計(jì)的大型嵌入式系統(tǒng)在工業(yè)設(shè)備、國(guó)防應(yīng)用、科研儀表等領(lǐng)域可以提供更好的工作性能。
[0013](3)使用串行總線(xiàn)通信的方式工作,上位機(jī)不僅可以是配有高性能微處理器的嵌入式系統(tǒng),也可以是一般的計(jì)算機(jī)系統(tǒng),而一臺(tái)系統(tǒng)可以配備多個(gè)本設(shè)備而不改變?cè)熊浖Y(jié)構(gòu)。這樣的改變使大型、復(fù)雜嵌入式系統(tǒng)可以允許更強(qiáng)的數(shù)據(jù)處理能力與控制能力,也使得嵌入式系統(tǒng)開(kāi)發(fā)更面向程序算法,而較少的控制底層,從而增加了開(kāi)發(fā)模式,使更多的技術(shù)人員可以進(jìn)入嵌入式開(kāi)發(fā)領(lǐng)域工作。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0014]圖1是本發(fā)明實(shí)施例中控制卡的實(shí)施過(guò)程功能框圖。
【具體實(shí)施方式】
[0015]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行描述,以便更好的理解本發(fā)明。
[0016]實(shí)施例
[0017]具體以使用本技術(shù)方案完成生產(chǎn)線(xiàn)設(shè)備控制系統(tǒng)為例。系統(tǒng)的設(shè)計(jì)任務(wù)是使用一個(gè)總控制嵌入式系統(tǒng)控制一條生產(chǎn)線(xiàn)上多個(gè)機(jī)電設(shè)備和信號(hào)檢測(cè)設(shè)備,系統(tǒng)根據(jù)工人的操作進(jìn)行開(kāi)啟、停止、復(fù)位等基本操作,工作室系統(tǒng)根據(jù)信號(hào)檢測(cè)設(shè)備監(jiān)測(cè)的信號(hào)作出判斷,控制機(jī)電設(shè)備工作從而完成生產(chǎn)。
[0018]一種控制交互系統(tǒng)中繼控制卡,系統(tǒng)硬件組成:(I)以高速微處理器為核心的上位機(jī)系統(tǒng):使用三星ARM116430微處理器作為中央處理器,處理器驅(qū)動(dòng)信號(hào)通過(guò)串口(USART串口 1,2,3,4)輸出驅(qū)動(dòng)信號(hào),這一部分配備VGA驅(qū)動(dòng)芯片在VGA顯示器上進(jìn)行顯示輸出,通過(guò)USB總線(xiàn)連接USB鍵盤(pán)進(jìn)行輸入。(2)以STM32F103ZET6微控制器為各設(shè)備的驅(qū)動(dòng)芯片。
[0019]系統(tǒng)軟件邏輯:6430上位機(jī)系統(tǒng)使用Qt完成用于人機(jī)交互的H,包括狀態(tài)顯示部分與指令輸入部分。當(dāng)軟件需要控制STM32F103ZET6微控制器時(shí)先調(diào)用數(shù)據(jù)包生成器,數(shù)據(jù)包定義如下:操作名(讀/寫(xiě)),操作地址(想操作的內(nèi)存地址),操作數(shù)(要寫(xiě)入的數(shù),讀狀態(tài)下為00000000),每部分都為8bit。然后程序調(diào)用串口驅(qū)動(dòng)程序向微控制器發(fā)送數(shù)據(jù)包,微控制器在接到完整數(shù)據(jù)包以后發(fā)送應(yīng)答信號(hào),而后解碼數(shù)據(jù)包并執(zhí)行。若為讀操作則準(zhǔn)備數(shù)據(jù)返回?cái)?shù)據(jù)包,準(zhǔn)備完成后通過(guò)串口驅(qū)動(dòng)發(fā)回,上微機(jī)進(jìn)行解碼處理。
[0020]通過(guò)這樣的讀寫(xiě)控制操作可以完成包括寄存器控制,寄存器數(shù)據(jù)讀取,數(shù)據(jù)暫存等功能,這樣就可以實(shí)現(xiàn)了底層機(jī)電設(shè)備的控制或?qū)鞲衅鲾?shù)據(jù)的讀取。
[0021]以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也視為本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種控制交互系統(tǒng)中繼控制卡,其特征在于:使用通用串行總線(xiàn)與高性能嵌入式系統(tǒng)主處理器和微處理器通信,設(shè)備的程序代碼固定接受上級(jí)微處理器信號(hào)并做出反應(yīng)的程序,設(shè)備配有一個(gè)包含有串口驅(qū)動(dòng)信息與控制信號(hào)信息的開(kāi)發(fā)庫(kù);所述控制信號(hào)為格式固定的數(shù)據(jù)包,攜帶以下信息:操作類(lèi)型的說(shuō)明、要控制的寄存器的地址(或名稱(chēng))、想要對(duì)該寄存器進(jìn)行的操作說(shuō)明、與該操作相關(guān)的操作數(shù)、報(bào)文的固定開(kāi)始與結(jié)束字段。
2.根據(jù)權(quán)利要求1所述的控制交互系統(tǒng)中繼控制卡,其特征在于:所述設(shè)備工作流程為:高性能微處理器程序開(kāi)發(fā)時(shí)使用本設(shè)備配套的開(kāi)發(fā)庫(kù),開(kāi)發(fā)庫(kù)提供了使用串行總線(xiàn)接口發(fā)送數(shù)據(jù)包的方法,以及生成數(shù)據(jù)包所需的信息和方法;高性能微處理器程序在工作到需要控制本設(shè)備時(shí),首先調(diào)用數(shù)據(jù)包生成方法與信息生成需要發(fā)送的數(shù)據(jù)包,數(shù)據(jù)包生成后使用串行總線(xiàn)接口發(fā)送數(shù)據(jù)包的方法將數(shù)據(jù)包發(fā)送給本設(shè)備,本設(shè)備在接到數(shù)據(jù)包后對(duì)其正確性進(jìn)行分析,對(duì)于正常情況下正確的數(shù)據(jù)包本設(shè)備將按照數(shù)據(jù)包中的要求進(jìn)行工作,工作完成后按照要求返回完成信號(hào)或上級(jí)高性能微控制器所需的數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的控制交互系統(tǒng)中繼控制卡,其特征在于:所述主處理器是ARM7、ARM9、ARMl 1、ARM Cortex-A,ARM Cortex-R 系列微控制器,其中 ARM Cortex-R 系列處理器采用其高性能部分;微處理器是ARM、AVR、80C51、STM8內(nèi)核中的任意一種微控制器。
4.根據(jù)權(quán)利要求1所述的控制交互系統(tǒng)中繼控制卡,其特征在于:所述操作類(lèi)型的說(shuō)明為讀取某一寄存器數(shù)據(jù)并通過(guò)串行總線(xiàn)發(fā)回值或者修改某一寄存器的值。
5.根據(jù)權(quán)利要求1所述的控制交互系統(tǒng)中繼控制卡,其特征在于:所述對(duì)寄存器進(jìn)行的操作說(shuō)明包括讀取、寫(xiě)入、比較、修改一部分其中一種或者多種。
6.根據(jù)權(quán)利要求1所述的控制交互系統(tǒng)中繼控制卡,其特征在于:所述操作相關(guān)的操作數(shù)為想要寫(xiě)入的數(shù)據(jù)或者想要累加的數(shù)據(jù)。
7.根據(jù)權(quán)利要求1至3所述的控制交互系統(tǒng)中繼控制卡,其特征在于:所述系統(tǒng)硬件組成為:(1)以高速微處理器為核心的上位機(jī)系統(tǒng):使用三星ARM116430微處理器作為中央處理器,處理器驅(qū)動(dòng)信號(hào)通過(guò)串口(USART串口 1,2,3,4)輸出驅(qū)動(dòng)信號(hào),這一部分配備VGA驅(qū)動(dòng)芯片在VGA顯示器上進(jìn)行顯示輸出,通過(guò)USB總線(xiàn)連接USB鍵盤(pán)進(jìn)行輸入;(2)以STM32F103ZET6微控制器為各設(shè)備的驅(qū)動(dòng)芯片; 系統(tǒng)軟件邏輯:6430上位機(jī)系統(tǒng)使用Qt完成用于人機(jī)交互的UI,包括狀態(tài)顯示部分與指令輸入部分;當(dāng)軟件需要控制STM32F103ZET6微控制器時(shí)先調(diào)用數(shù)據(jù)包生成器,數(shù)據(jù)包定義如下:操作名(讀/寫(xiě)),操作地址(想操作的內(nèi)存地址),操作數(shù)(要寫(xiě)入的數(shù),讀狀態(tài)下為00000000),每部分都為Sbit ;然后程序調(diào)用串口驅(qū)動(dòng)程序向微控制器發(fā)送數(shù)據(jù)包,微控制器在接到完整數(shù)據(jù)包以后發(fā)送應(yīng)答信號(hào),而后解碼數(shù)據(jù)包并執(zhí)行;若為讀操作則準(zhǔn)備數(shù)據(jù)返回?cái)?shù)據(jù)包,準(zhǔn)備完成后通過(guò)串口驅(qū)動(dòng)發(fā)回,上微機(jī)進(jìn)行解碼處理。
【文檔編號(hào)】G05B19/042GK103713549SQ201310711889
【公開(kāi)日】2014年4月9日 申請(qǐng)日期:2013年12月17日 優(yōu)先權(quán)日:2013年12月17日
【發(fā)明者】張世達(dá), 李文茉, 王武迪, 蘇鴻全, 田月 申請(qǐng)人:吉林大學(xué)