一種基于SoC FPGA的多串口并行處理架構(gòu)的制作方法
【專利摘要】本實(shí)用新型屬于分散式工業(yè)控制【技術(shù)領(lǐng)域】,涉及一種基于SoC?FPGA的多串口并行處理架構(gòu),包括收發(fā)器、集成了現(xiàn)場(chǎng)可編程邏輯門(mén)陣列FPGA和處理器CPU的SoC?FPGA芯片,其特征在于:所述Soc?FPGA芯片中的FPGA內(nèi)部通過(guò)硬件描述語(yǔ)言設(shè)計(jì)多個(gè)UART核和與各UART核相對(duì)應(yīng)的多個(gè)協(xié)處理器MCU;FPGA內(nèi)嵌多個(gè)與各協(xié)處理器MCU相對(duì)應(yīng)的嵌入式存儲(chǔ)器,各嵌入式存儲(chǔ)器配置為可以讀寫(xiě)操作的雙端口模式;所述多個(gè)UART核與多個(gè)相對(duì)應(yīng)的所述收發(fā)器通過(guò)RS232/RS422/RS485接口連接。本實(shí)用新型系統(tǒng)集成度高、硬件設(shè)計(jì)成本低,能有效降低CPU負(fù)荷,提升串行總線數(shù)據(jù)傳輸帶寬,可以靈活擴(kuò)展多路串行通道。
【專利說(shuō)明】—種基于SoC FPGA的多串口并行處理架構(gòu)
【技術(shù)領(lǐng)域】
[0001]本實(shí)用新型屬于分散式工業(yè)控制【技術(shù)領(lǐng)域】,具體涉及一種基于SoC FPGA的多串口并行處理架構(gòu)。
【背景技術(shù)】
[0002]UART (通用異步收發(fā)傳輸器)是一種廣泛應(yīng)用于短距離、低速通信的串行傳輸接口,其操作簡(jiǎn)單、工作可靠、抗干擾強(qiáng)、成本低、傳輸距離遠(yuǎn)(組成485網(wǎng)絡(luò)可以傳輸1,200米以上)。在數(shù)據(jù)通信、計(jì)算機(jī)網(wǎng)絡(luò)以及分散式工業(yè)控制系統(tǒng)中,處理器經(jīng)常采用串行通信與外設(shè)模塊交換數(shù)據(jù)和信息。
[0003]在現(xiàn)代的工業(yè)控制系統(tǒng)中,多串口通信應(yīng)用越來(lái)越廣泛。尤其是數(shù)據(jù)采集領(lǐng)域,工程應(yīng)用中對(duì)串口數(shù)量需求增加,處理器需要實(shí)時(shí)采集并處理來(lái)自于多個(gè)串行外設(shè)的數(shù)據(jù)。通用串口實(shí)現(xiàn)方式如圖1所示。由于普通處理器或ASIC能提供的串口數(shù)量有限,當(dāng)需要控制的串行終端設(shè)備超過(guò)四個(gè)以上時(shí),傳統(tǒng)的架構(gòu)就難以滿足實(shí)際應(yīng)用要求了,如硬件成本昂貴、難以擴(kuò)展、功耗較高、數(shù)據(jù)處理實(shí)時(shí)性不高、處理器負(fù)荷高、UART總線帶寬低等問(wèn)題。具體表現(xiàn)在:1)串行外設(shè)用到RS232或RS422/485異步串行接口,一般采用專用的集成電路即UART芯片實(shí)現(xiàn)。如8250、16550AFN等芯片都是常見(jiàn)的UART器件,但這類器件硬件串行接口資源有限,而且內(nèi)部結(jié)構(gòu)設(shè)計(jì)相當(dāng)復(fù)雜,芯片引腳較多,有的含有許多輔助模塊(如FIFO),在實(shí)際使用時(shí)往往只用到UART基本功能,設(shè)計(jì)時(shí)使用這類芯片,造成了資源浪費(fèi);2)處理器或?qū)S玫亩啻谛酒峁┑目蓴U(kuò)展串口數(shù)量有限,無(wú)法實(shí)現(xiàn)更多UART串口擴(kuò)展;3)外圍接口電路復(fù)雜,板卡設(shè)計(jì)難度較大;4)使用UART芯片還會(huì)使硬件成本增加并且增加電路板的面積,無(wú)法大規(guī)模應(yīng)用于多通道數(shù)據(jù)采集場(chǎng)合;5)處理器采用串行方式依次掃描各個(gè)通道,然而串口通訊速率過(guò)低導(dǎo)致CPU等待時(shí)間過(guò)長(zhǎng),難以滿足實(shí)時(shí)性要求較高需要并行處理的實(shí)際需求。
【發(fā)明內(nèi)容】
[0004]鑒于現(xiàn)有技術(shù)中存在的上述問(wèn)題,本實(shí)用新型要解決的技術(shù)問(wèn)題是提供一種硬件設(shè)計(jì)成本低、能有效降低CPU負(fù)荷、可以靈活擴(kuò)展多路串行通道的多串口并行處理架構(gòu)。
[0005]為了實(shí)現(xiàn)以上目的,本實(shí)用新型采用的技術(shù)方案是:一種基于SoC FPGA的多串口并行處理架構(gòu),包括收發(fā)器、集成了現(xiàn)場(chǎng)可編程邏輯門(mén)陣列FPGA和處理器CPU的SoC FPGA芯片,其特征在于:所述SoC FPGA芯片中的FPGA內(nèi)部通過(guò)硬件描述語(yǔ)言設(shè)計(jì)多個(gè)UART核和與各UART核相對(duì)應(yīng)的多個(gè)協(xié)處理器MCU ;所述FPGA內(nèi)嵌多個(gè)與各協(xié)處理器MCU相對(duì)應(yīng)的嵌入式存儲(chǔ)器,各嵌入式存儲(chǔ)器配置為可以讀寫(xiě)操作的雙端口模式;所述多個(gè)UART核與多個(gè)相對(duì)應(yīng)的所述收發(fā)器通過(guò)RS232/RS422/RS485接口連接。
[0006]所述SoCFPGA芯片內(nèi)由相對(duì)應(yīng)的UART核、協(xié)處理器MCU和嵌入式存儲(chǔ)器依次連接組成的多路串行通道,各通道互相獨(dú)立,SoCFPGA芯片內(nèi)的CPU通過(guò)內(nèi)部總線可同時(shí)掃描并處理所有通道的外設(shè)信息。[0007]所述協(xié)處理器MCU完成數(shù)據(jù)鏈路層工作,所述SoC FPGA芯片內(nèi)的處理器CPU完成
應(yīng)用層工作。
[0008]本實(shí)用新型的積極效果是:1)利用SoC FPGA內(nèi)富裕的FPGA邏輯資源可以輕松實(shí)現(xiàn)多路UART控制器,根據(jù)工程需要,只需修改FPGA邏輯即可靈活構(gòu)建多協(xié)處理器MCU和多UART核,靈活增減串行通道數(shù)量,大大提高了系統(tǒng)集成度;2)在高達(dá)16乃至32串行通道時(shí),板卡外圍電路設(shè)計(jì)復(fù)雜度和難度大大降低,極大縮減昂貴硬件成本,可大規(guī)模應(yīng)用于多通道數(shù)據(jù)采集場(chǎng)合;3)在SoC FPGA內(nèi)的處理器CPU和UART控制器之間設(shè)有多個(gè)獨(dú)立并行的協(xié)處理器MCU,協(xié)處理器MCU完成數(shù)據(jù)鏈路層工作,處理器CPU主要負(fù)責(zé)應(yīng)用層工作,這種架構(gòu)可以讓處理器并行掃描所有通道的串行外設(shè),大大降低CPU的負(fù)荷,提升串行總線數(shù)據(jù)傳輸帶寬;4)根據(jù)工程需要配合外部收發(fā)芯片,SoC FPGA只需稍作邏輯修改即可靈活支持RS232/RS422/RS485不同的通訊協(xié)議和波特率。
【專利附圖】
【附圖說(shuō)明】
[0009]下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本實(shí)用新型作進(jìn)一步說(shuō)明。
[0010]圖1是現(xiàn)有的通用串口實(shí)現(xiàn)方式示意圖;
[0011]圖2是本實(shí)用新型SoC FPGA同時(shí)控制八通道并行掃描處理的架構(gòu)示意圖;
[0012]圖3是SoC FPGA中CPU與MCU工作所處的網(wǎng)絡(luò)模型位置示意圖。
【具體實(shí)施方式】
[0013]為了實(shí)現(xiàn)并行多通道串行外設(shè)的支持,增加UART總線串行通信帶寬,降低CPU的負(fù)荷,提高系統(tǒng)集成度,縮減硬件成本,如圖2所示,本實(shí)用新型基于SoCFPGA的多串口并行處理架構(gòu),包括收發(fā)器、集成了現(xiàn)場(chǎng)可編程邏輯陣列FPGA和處理器CPU的SoC FPGA芯片,CPU通過(guò)內(nèi)部總線與FPGA連接,其特征在于:所述SoC FPGA芯片中的FPGA內(nèi)部通過(guò)硬件描述語(yǔ)言設(shè)計(jì)多個(gè)UART核和與各UART核相對(duì)應(yīng)的多個(gè)協(xié)處理器MCU ;所述FPGA內(nèi)嵌多個(gè)與各協(xié)處理器MCU相對(duì)應(yīng)的嵌入式存儲(chǔ)器,各嵌入式存儲(chǔ)器配置為可以讀寫(xiě)操作的雙端口模式;所述多個(gè)UART核與多個(gè)相對(duì)應(yīng)的所述收發(fā)器通過(guò)RS232/RS422/RS485接口連接。
[0014]所述SoC FPGA芯片內(nèi)部集成了單核或多核處理器和現(xiàn)場(chǎng)可編程邏輯門(mén)陣列FPGA,處理器CPU和FPGA之間通過(guò)內(nèi)部總線互聯(lián)。
[0015]所述的SoCFPGA芯片內(nèi)由相對(duì)應(yīng)的UART核、協(xié)處理器MCU和嵌入式存儲(chǔ)器依次連接組成的多路串行通道,各通道互相獨(dú)立,CPU可同時(shí)掃描并處理所有通道的外設(shè)信息。
[0016]所述協(xié)處理器MCU完成數(shù)據(jù)鏈路層工作,所述SoC FPGA芯片內(nèi)的處理器CPU完成應(yīng)用層工作(如圖3所示)。
[0017]本實(shí)用新型中SoCFPGA實(shí)現(xiàn)多UART接口、多協(xié)處理器處理方式,通過(guò)SoCFPGA可以靈活構(gòu)建多協(xié)處理器MCU和多UART核,SoCFPGA構(gòu)建的UART核與外部的收發(fā)器通過(guò)RS232/RS422/RS485連接,這樣可以靈活擴(kuò)展多路串行通道。
[0018]SoC FPGA中的處理器CPU通過(guò)內(nèi)部總線從FPGA讀取、發(fā)送數(shù)據(jù)。CPU主要負(fù)責(zé)應(yīng)
用層工作。
[0019]SoCFPGA芯片內(nèi)嵌嵌入式存儲(chǔ)器,配置成可以讀寫(xiě)操作的真正雙端口模式(如圖2中的Dual Port),用以緩存待發(fā)送或接受的數(shù)據(jù)。[0020]協(xié)處理器MCU是通過(guò)SoCFPGA構(gòu)建的虛擬協(xié)處理器,主要完成數(shù)據(jù)鏈路層工作,處理來(lái)自于UART核的數(shù)據(jù)或?qū)?lái)自于Dual Port的并行數(shù)據(jù)處理后發(fā)送給UART核。
[0021 ] UART核實(shí)現(xiàn)了 UART功能,提供與外部串口收發(fā)器的UART接口,在協(xié)處理器MCU的控制下高效收發(fā)串行數(shù)據(jù)。
[0022]收發(fā)器是UART接口芯片,主要完成RS232/RS422/RS485電平和TTL/C0MS電平間的轉(zhuǎn)換。SoC FPGA處理器和終端均采用TTL電平及正邏輯,它們與EIA采用的電平及負(fù)邏輯不兼容,需在接口電路中進(jìn)行轉(zhuǎn)換。
[0023]為了提高系統(tǒng)的集成度,支持多路并行獨(dú)立串口,提高UART總線帶寬,降低CPU的負(fù)荷,縮減硬件成本,本實(shí)用新型使用SoCFPGA中的現(xiàn)場(chǎng)可編程邏輯門(mén)陣列FPGA構(gòu)建多個(gè)UART核,根據(jù)工程應(yīng)用需要只需更改編程邏輯即可靈活增減串行通道數(shù)量。SoC FPGA中的現(xiàn)場(chǎng)可編程門(mén)陣列FPGA由可配置的邏輯模塊、輸入輸出模塊和內(nèi)部連線組成。FPGA利用查找表(LUT)實(shí)現(xiàn)組合邏輯,進(jìn)而驅(qū)動(dòng)其它邏輯電路和I/O接口,而存儲(chǔ)在內(nèi)部靜態(tài)存儲(chǔ)單元的編程數(shù)據(jù)決定各邏輯單元的邏輯功能和各模塊之間的連接關(guān)系。通過(guò)硬件描述語(yǔ)言在FPGA內(nèi)部配置多個(gè)獨(dú)立工作的組合邏輯單元,實(shí)現(xiàn)多通道并行UART通信功能。如圖2所示,在SoCFPGA中的FPGA內(nèi)部通過(guò)硬件描述語(yǔ)言分別設(shè)計(jì)多個(gè)UART核和多個(gè)協(xié)處理器MCUJfFPGA內(nèi)嵌的嵌入式存儲(chǔ)器可配置成多個(gè)真正雙端口存儲(chǔ)器。該方法有集成度高、體積小、功耗低和速度快等優(yōu)點(diǎn),而且還可以根據(jù)用戶的需求對(duì)系統(tǒng)功能進(jìn)行重構(gòu)。
[0024]在多串口數(shù)據(jù)采集應(yīng)用中,需要實(shí)時(shí)的進(jìn)行數(shù)據(jù)采集、對(duì)串行終端設(shè)備進(jìn)行實(shí)時(shí)控制。傳統(tǒng)的多通道串行架構(gòu)中,CPU是依次查詢各個(gè)串行端口的狀態(tài),順序掃描各端口,造成CPU耗費(fèi)大量的時(shí)間和資源,并且串行總線帶寬隨著通道數(shù)量的增加而減小。本實(shí)用新型中采用的方法是:在SoCFPGA中的FPGA內(nèi)部通過(guò)硬件描述語(yǔ)言構(gòu)建多個(gè)協(xié)處理器MCU,并將FPGA內(nèi)嵌的嵌入式存儲(chǔ)器配置成多個(gè)真正雙端口存儲(chǔ)器。協(xié)處理器主要完成數(shù)據(jù)鏈路層工作(如圖3),處理來(lái)自于UART核的數(shù)據(jù)或?qū)?lái)自于Dual Port的并行數(shù)據(jù)處理后發(fā)送給UART核。接受數(shù)據(jù)時(shí),將來(lái)自于UART核的數(shù)據(jù)處理后以并行數(shù)據(jù)方式緩存在DualPort,相應(yīng)的Dual Port會(huì)向CPU發(fā)送接收中斷請(qǐng)求,CPU可在完成當(dāng)前任務(wù)后響應(yīng)中斷,然后一次讀取來(lái)自于Dual Port中的數(shù)據(jù),CPU無(wú)需再花大量時(shí)間等待低速的UART核將數(shù)據(jù)發(fā)送完成。CPU只需負(fù)責(zé)應(yīng)用層工作,降低了 CPU的負(fù)荷。
[0025]發(fā)送數(shù)據(jù)時(shí),SoC FPGA中的處理器CPU并行掃描所有通道,查詢到來(lái)自于某個(gè)通道的請(qǐng)求發(fā)送狀態(tài)信息后,將待發(fā)送給某個(gè)通道的數(shù)據(jù)緩存在相應(yīng)通道的Dual Port存儲(chǔ)器中,相應(yīng)通道的協(xié)處理器一旦查詢到對(duì)應(yīng)的Dual Port中有處理器發(fā)送的數(shù)據(jù),立即啟動(dòng)工作進(jìn)行相應(yīng)處理后輸出給UART核。處理器也可以將待發(fā)送給串行外設(shè)的數(shù)據(jù)一次發(fā)送到所有通道上的Dual Port中,然后供各通道上的協(xié)處理器處理,處理器將數(shù)據(jù)存放在各通道上的Dual Port中后可以立即去處理其他的任務(wù),無(wú)需再花大量時(shí)間去等待低速的UART接受,這樣大大降低了處理器的負(fù)荷和等待時(shí)間。本實(shí)用新型中的協(xié)處理器MCU和DualPort可以實(shí)時(shí)高效的將待發(fā)送的數(shù)據(jù)輸出給UART核,或?qū)⑻幚砥鞔邮盏臄?shù)據(jù)實(shí)時(shí)存放在相應(yīng)通道的Dual Port中,各個(gè)串行通道完全獨(dú)立,互不影響。
[0026]數(shù)據(jù)傳輸帶寬是串行通信的瓶頸,串行通道數(shù)量越多帶寬越低。本實(shí)用新型提出的基于SoC FPGA的多串口并行處理架構(gòu)引入了協(xié)處理器MCU和Dual Port存儲(chǔ)器,可以讓高速的CPU高效發(fā)送數(shù)據(jù)到低速的UART核,或?qū)崟r(shí)接收來(lái)自于UART外設(shè)的數(shù)據(jù),每個(gè)通道均設(shè)數(shù)據(jù)緩存存儲(chǔ)器Dual port、協(xié)處理器MCU,各通道互相獨(dú)立,并行工作。串行總線上數(shù)據(jù)帶寬是所有通道上最大帶寬的總和,對(duì)于8路RS422,總線帶寬可高達(dá)64Mbit/s。
[0027]串行通訊標(biāo)準(zhǔn)的靈活支持也是串行通訊所期望的功能。除了常用的RS232標(biāo)準(zhǔn),還有RS422、RS485標(biāo)準(zhǔn),專用的UART芯片很少有可以同時(shí)支持RS232/RS422/RS485的,即使有能同時(shí)支持三種通訊協(xié)議的專用UART芯片,其價(jià)格也較貴,靈活性和性價(jià)比低。
[0028]在本實(shí)用新型中,通過(guò)硬件描述語(yǔ)言在SoCFPGA內(nèi)部實(shí)現(xiàn)多個(gè)獨(dú)立工作的UART核和軟核協(xié)處理器MCU,數(shù)據(jù)鏈路層的通信協(xié)議工作在MCU里實(shí)現(xiàn),根據(jù)工程需要配合外部收發(fā)芯片,SoCFPGA只需稍作邏輯修改即可支持不同的通訊協(xié)議、波特率。
【權(quán)利要求】
1.一種基于SoC FPGA的多串口并行處理架構(gòu),包括收發(fā)器、集成了現(xiàn)場(chǎng)可編程邏輯門(mén)陣列FPGA和處理器CPU的SoC FPGA芯片,其特征在于:所述SoC FPGA芯片中的FPGA內(nèi)部包含多個(gè)UART核和與各UART核相對(duì)應(yīng)的多個(gè)協(xié)處理器MCU ;FPGA內(nèi)嵌多個(gè)與各協(xié)處理器MCU相對(duì)應(yīng)的嵌入式存儲(chǔ)器;所述多個(gè)UART核與多個(gè)相對(duì)應(yīng)的所述收發(fā)器通過(guò)RS232/RS422/RS485接口連接。
2.根據(jù)權(quán)利I要求所述的一種基于SoCFPGA的多串口并行處理架構(gòu),其特征在于:所述SoC FPGA芯片中的FPGA內(nèi)由相對(duì)應(yīng)的UART核、協(xié)處理器MCU和嵌入式存儲(chǔ)器依次連接組成的多路串行通道,各通道互相獨(dú)立。
【文檔編號(hào)】G05B19/042GK203812025SQ201320833956
【公開(kāi)日】2014年9月3日 申請(qǐng)日期:2013年12月18日 優(yōu)先權(quán)日:2013年12月18日
【發(fā)明者】劉玉升, 王楠 申請(qǐng)人:國(guó)核自儀系統(tǒng)工程有限公司