亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        超高頻RFID系統(tǒng)閱讀器SOC設(shè)計

        2018-11-22 11:58:56王銘銘
        計算機技術(shù)與發(fā)展 2018年11期
        關(guān)鍵詞:基帶閱讀器寄存器

        王銘銘,卜 剛,張 龑

        (南京航空航天大學(xué),江蘇 南京 211106)

        0 引 言

        射頻識別技術(shù)(radio frequency identification,RFID)是一種利用射頻無線通信實現(xiàn)的非接觸的無線識別技術(shù)。伴隨著物聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,基于ISO/IEC18000-6C協(xié)議[1]的超高頻(UHF)RFID閱讀器的研究,已經(jīng)成為該領(lǐng)域的重點和熱點。隨著集成電路的迅速發(fā)展,SOC(system on chip)設(shè)計方法的應(yīng)用也越來越廣泛。

        一個SOC系統(tǒng)包括硬件模塊和軟件模塊[2-3]。對于SOC設(shè)計而言,其中一個最重要的方面就是軟硬件的協(xié)同設(shè)計。但是國內(nèi)大多數(shù)的研究主要在軟件領(lǐng)域和硬件領(lǐng)域,針對協(xié)同仿真領(lǐng)域的研究較少。隨著SOC開發(fā)技術(shù)的發(fā)展,降低功耗、尺寸等關(guān)鍵因素,加快產(chǎn)品的研發(fā)周期,降低研發(fā)成本,逐漸成為集成電路設(shè)計的重要方向之一。

        針對基于MC8051軟核的片上系統(tǒng)開發(fā),文中采取軟硬件協(xié)同設(shè)計,劃分系統(tǒng)模塊,分成軟件和硬件進行設(shè)計,應(yīng)用MC8051處理器,進行軟件開發(fā)并設(shè)計完成其基帶通信鏈路模塊,搭建整個系統(tǒng)并進行仿真驗證。

        1 MC8051簡介

        MC8051是Oregano Systems公司發(fā)布的一款8位微處理器,與標(biāo)準(zhǔn)的MCS-51指令集完全兼容。它是一款比較經(jīng)典的8051微處理器[4],對比多款8051軟核,考慮到了VHDL語言的嚴(yán)謹性以及MC8051處理器穩(wěn)定可靠的性能,又支持開源WISHBONE總線協(xié)議,故采用MC8051處理器。

        MC8051具備很多優(yōu)勢,用戶可以根據(jù)工程需要和實際需求,增加或者減少一些功能,通過修改其源代碼來優(yōu)化參數(shù),以適配目標(biāo)系統(tǒng)。除了內(nèi)部ROM和外部RAM可以根據(jù)工程要求及用戶需求作一定的擴展之外,串行模塊、定時器/計數(shù)器模塊、外部中斷模塊等均可進行一定的擴展。由于暫時未涉及到其他復(fù)雜的應(yīng)用場景,文中僅使用默認設(shè)置。

        2 SOC系統(tǒng)搭建

        對于搭建的閱讀器SOC系統(tǒng),主要包括兩大部分,一部分是MC8051處理器,實現(xiàn)軟件開發(fā)、控制處理等功能,另一部分是基帶收發(fā)鏈路,主要用來傳輸符合規(guī)范的數(shù)據(jù)包以及數(shù)據(jù)傳輸速率等內(nèi)容。系統(tǒng)實現(xiàn)如圖1所示。

        圖1 閱讀器SOC系統(tǒng)結(jié)構(gòu)

        將MC8051處理器與自定義基帶通信鏈路模塊進行互連時,基本思路是通過總線方式,將自定義基帶通信鏈路模塊接口與WISHBONE總線[5]接口互連,將WISHBONE總線接口直接與MC8051處理器外部RAM接口互連,在邏輯上將基帶通信鏈路模塊作為處理器的外部RAM[6-7]。在軟件程序編寫時,與基帶通信鏈路模塊的數(shù)據(jù)交互亦類似與對外部RAM的讀寫操作。

        2.1 MC8051軟核的修改

        Oregano Systems公司官網(wǎng)下載的MC8051軟核需經(jīng)過一定的修改[8],才能用于本系統(tǒng)閱讀器及基帶的SOC設(shè)計。在mc8051_p包文件中作相應(yīng)修改,刪除原有mc8051_ramx模塊聲明,保留mc8051_rom模塊聲明,增加wb_reader_soc、reader_top模塊聲明。

        值得注意的是,在增加上述模塊聲明后,需在工程中增加上述模塊對應(yīng)的RTL文件。另外需要修改mc8051_rom及mc8051_t_rom文件,使其能正確讀取.dua文件以初始化ROM。

        entity mc8051_rom

        generic(c_init_file:string:=“mc8051_rom.dua”);

        port( clk :instd_logic; --clock signal

        reset :instd_logic; --reset signal

        rom_data_o :instd_logic_vector(15 downto 0); --data output

        rom_data_i :instd_logic_vector(15 downto 0)); --adress

        end mc8051_rom

        上述代碼中加粗部分為修改部分,系統(tǒng)應(yīng)初始化ROM。因此,閱讀器ROM讀取文件名為mc8051_rom.dua,同時,也需要修改對應(yīng)的結(jié)構(gòu)體以及配置文件。

        修改mc8051_top文件,在原有的mc8051_top頂層模塊中增加兩個信號tx_data以及data_rx,并刪除int0_i信號,由于基帶通信鏈路中斷信號int_bb直接與MC8051處理器int0_i信號互連,因此在頂層模塊信號列表中刪除這兩個信號。

        2.2 對應(yīng)接口設(shè)置

        將基帶通信鏈路模塊作為RAMX模塊與MC8051 RAMX接口通過WISHBOEN總線互連,如圖1所示。需要在原來的MC8051頂層模塊基礎(chǔ)上額外增加三個接口信號:tx_end、data_rx、int_bb,分別表示基帶串行信號輸出、輸入和基帶中斷信號輸出。

        另外,寄存器定義是程序設(shè)計中非常重要的部分,用以實現(xiàn)控制、存儲等功能,在閱讀器系統(tǒng)中設(shè)置了若干組特殊功能寄存器,位于基帶通信鏈路模塊數(shù)字接口部分,各寄存器詳情如表1所示。

        表1 數(shù)字接口寄存器定義

        其中,CONTROL寄存器用于控制基帶通信鏈路發(fā)送與接收的控制;TX_BUF寄存器共有128位,保存MC8051需要發(fā)送的數(shù)據(jù),數(shù)據(jù)保存采用小端對齊方式,包含命令以及數(shù)據(jù)信息,在進行操作時,地址從0x01至0x10,每8位數(shù)據(jù)一組,以字節(jié)為單位;RX_BUF寄存器共有128位,保存基帶接收鏈路發(fā)送過來的數(shù)據(jù),數(shù)據(jù)保存采用小端對齊方式,包含命令以及數(shù)據(jù)信息,與TX_BUF類似,在進行操作時,地址從0x11至0x20,其中0x11地址的字節(jié)保存該條命令信息的長度信息,以位計算;STATE寄存器用來保存基帶中斷信號,基帶通信鏈路在鏈路數(shù)據(jù)發(fā)送完成后或鏈路數(shù)據(jù)接收完成后,都會產(chǎn)生中斷信號,且更新該寄存器,同時會將中斷信號發(fā)送至MC8051處理器,當(dāng)MC8051響應(yīng)中斷后,會從該寄存器中讀取中斷狀態(tài),以做出應(yīng)答。

        3 軟硬件的設(shè)計

        由第二小節(jié)得知,修改后的MC8051軟核需要將所設(shè)計的閱讀器的軟件協(xié)議部分以及硬件通信基帶鏈路實現(xiàn)均要設(shè)置頂層模塊。

        閱讀器的系統(tǒng)軟件實現(xiàn)主要是對協(xié)議ISO/IEC 18000-6C的標(biāo)準(zhǔn)實現(xiàn)[9],基帶通信鏈路實現(xiàn)的主要是協(xié)議物理層規(guī)范,包含數(shù)據(jù)校驗及編解碼、數(shù)據(jù)包格式、數(shù)據(jù)傳輸速率等內(nèi)容,最終以符合協(xié)議標(biāo)準(zhǔn)的數(shù)據(jù)格式將基帶信號輸入射頻模塊。

        3.1 軟件設(shè)計

        閱讀器軟件算法的設(shè)計思路是根據(jù)協(xié)議標(biāo)準(zhǔn),對標(biāo)簽進行發(fā)信,并對接收到的信息做出反饋,進而對標(biāo)簽進行讀寫等一系列訪問操作。另外,閱讀器與標(biāo)簽之間的通信需要滿足協(xié)議規(guī)定的鏈路時序要求[10-11]。

        在MC8051中,該時序要求采用內(nèi)部定時器實現(xiàn),當(dāng)超過一定時間之后,內(nèi)部定時器產(chǎn)生中斷,閱讀器進入新的執(zhí)行過程而不再等待標(biāo)簽的應(yīng)答。

        由于閱讀器與標(biāo)簽的通信是基于“半雙工”的機制,雙方是基于問答式的信息交互,即無法在接收的同時發(fā)送信息,發(fā)送鏈路或者接收鏈路同時只有一條鏈路在工作。因此,在軟件算法設(shè)計時充分考慮到這一點。當(dāng)基帶通信鏈路模塊數(shù)據(jù)發(fā)送完畢時或者數(shù)據(jù)接收完畢時均會產(chǎn)生外部中斷,MC8051響應(yīng)該中斷后,會根據(jù)當(dāng)前狀態(tài)及時打開或者關(guān)閉閱讀器基帶通信鏈路的發(fā)送時鐘或者接收時鐘,調(diào)整閱讀器工作狀態(tài),從一定程度上而言,也達到了閱讀器基帶通信鏈路低功耗的設(shè)計效果。

        因此,系統(tǒng)共需設(shè)置兩個中斷向量,分別是外部中斷INT0,以及內(nèi)部鏈路時序定時器中斷。當(dāng)產(chǎn)生外部中斷時,flag標(biāo)志位置位;初始化外部中斷時,flag標(biāo)志位復(fù)位。當(dāng)內(nèi)部定時器產(chǎn)生中斷時,TimingLink標(biāo)志位置位;初始化內(nèi)部定時器中斷時,TimingLink標(biāo)志位復(fù)位。

        其中外部中斷包含兩個內(nèi)容,其一為數(shù)據(jù)發(fā)送完成,其二為數(shù)據(jù)接收完成,兩者均會引起INT0產(chǎn)生下降沿,以觸發(fā)中斷。當(dāng)然,具體是發(fā)送還是接收完成,則由閱讀器判斷,它會讀取基帶通信鏈路模塊數(shù)字接口中的外部中斷狀態(tài)寄存器STATE,以確定究竟是數(shù)據(jù)發(fā)送完成還是數(shù)據(jù)接送完成,并進入不同的處理過程。閱讀器軟件算法實現(xiàn)流程如圖2所示。

        圖2 閱讀器軟件算法流程

        3.2 硬件設(shè)計

        閱讀器基帶通信鏈路模塊負責(zé)實現(xiàn)硬件部分,基帶收發(fā)鏈路模塊設(shè)計方案是上行鏈路為發(fā)送鏈路,按照協(xié)議要求生成一定格式的串行碼流,下行鏈路為接收鏈路,實現(xiàn)數(shù)據(jù)的串行接收[12-13]。模塊通過數(shù)字接口與MC8051處理器進行通信,實現(xiàn)協(xié)議處理;通過串行I/O口TX及RX實現(xiàn)與外界信息的交互[14-15]。

        閱讀器數(shù)字基帶發(fā)送鏈路具體設(shè)計如圖3所示,圖中顯示了閱讀器數(shù)字基帶發(fā)送鏈路的頂層模塊設(shè)計結(jié)構(gòu)。閱讀器的發(fā)送鏈路主要包括七個模塊,分別為CLK模塊、CNT_R模塊、P2S模塊、CRC_Gen[16]模塊、異步FIFO模塊、PIE_Encode模塊[17]以及Preamble_R模塊,其中CLK模塊是把系統(tǒng)時鐘進行分頻,產(chǎn)生碼率時鐘以及PIE編碼時鐘。數(shù)據(jù)并行輸入CNT_R模塊,然后可以得出是否為Query命令的標(biāo)志位query_flag;并行輸入的命令或者數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),將轉(zhuǎn)換的數(shù)據(jù)進行CRC校驗,生成校驗碼;由于校驗、編碼的時鐘頻率不同,所以采用異步FIFO模塊,進行數(shù)據(jù)的緩存;對FIFO中緩存的數(shù)據(jù)進行PIE編碼,在編碼結(jié)束后,基于query_flag標(biāo)志位選擇同步碼,最終串行輸出,完成基帶發(fā)送數(shù)據(jù)的處理。

        閱讀器數(shù)字基帶接收鏈路具體設(shè)計如圖4所示,圖中顯示了閱讀器數(shù)字基帶接收鏈路的頂層模塊設(shè)計結(jié)構(gòu)。閱讀器接收鏈路主要由四個模塊組成,分別為Head_Check_R模塊、Decode模塊、CRC16_Check模塊和S2P模塊。接收數(shù)據(jù)通過Head_Check_R模塊檢測同步碼,然后對檢測完同步碼的數(shù)據(jù)進行FM0或Miller副載波調(diào)制編碼信號的解碼操作,完成解碼后,對數(shù)據(jù)進行CRC解除校驗,然后將串行命令或數(shù)據(jù)轉(zhuǎn)為并行數(shù)據(jù),供MC8051處理器調(diào)用,從而完成硬件部分的基帶鏈路接收。

        圖3 閱讀器數(shù)字基帶發(fā)送鏈路

        圖4 閱讀器數(shù)字基帶接收鏈路

        4 仿真驗證

        在系統(tǒng)包含的所有模塊中,每個模塊通過仿真驗證,才能在整個系統(tǒng)中進行仿真,以確保每個模塊的功能正確性以及系統(tǒng)仿真的可靠性。

        系統(tǒng)的軟件開發(fā)在Keil軟件中進行,當(dāng)完成編譯之后,生成.hex格式文件,但該文件尚無法在軟核上運行,需要通過hex2dua工具將其轉(zhuǎn)換為.dua格式,并分別替換ROM文件。.dua文件中所保存的即為MC8051軟核運行所需的機器碼,在啟動仿真時,MC8051會自動從中讀取程序并執(zhí)行[18]。

        應(yīng)用MC8051處理器的SOC系統(tǒng)進行軟硬件協(xié)同驗證,將驗證過的基帶鏈路與修改后的軟核進行系統(tǒng)上的驗證。如圖5所示,系統(tǒng)通過軟硬件驗證,得到正確的發(fā)送編碼。圖中所示的十六進制的CA數(shù)據(jù)是發(fā)送數(shù)據(jù)成功的驗證。

        圖5 閱讀器SOC系統(tǒng)軟硬件仿真驗證

        5 結(jié)束語

        利用開源處理器MC8051軟核,根據(jù)協(xié)議要求,設(shè)計閱讀器軟件算法,結(jié)合自定義基帶通信鏈路模塊,通過WISHBONE總線協(xié)議實現(xiàn)兩者互連,搭建起系統(tǒng)硬件架構(gòu)。驗證軟硬件協(xié)同,經(jīng)過系統(tǒng)仿真,實現(xiàn)閱讀器的編碼發(fā)送操作,完成了系統(tǒng)軟硬件的仿真驗證。對于采用MC8051軟核應(yīng)用于SOC系統(tǒng)的方法,普遍適用于系統(tǒng)的設(shè)計,并可以根據(jù)實際需要結(jié)合處理器設(shè)計匹配整個系統(tǒng)。

        猜你喜歡
        基帶閱讀器寄存器
        基于反向權(quán)重的閱讀器防碰撞算法
        Lite寄存器模型的設(shè)計與實現(xiàn)
        一種高效的RFID系統(tǒng)冗余閱讀器消除算法
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        一種RFID網(wǎng)絡(luò)系統(tǒng)中消除冗余閱讀器的高效算法
        2014年LTE基帶收益占蜂窩基帶收益50%以上
        AIS基帶信號的接收與處理
        數(shù)字基帶系統(tǒng)的System View仿真設(shè)計
        基于FPGA的WSN數(shù)字基帶成形濾波器設(shè)計
        盲人閱讀器
        亚洲国产成人精品无码区在线观看| 亚洲av免费看一区二区三区| 91久久大香伊蕉在人线国产| 国产三级精品三级男人的天堂| 国产区女主播在线观看| 99麻豆久久久国产精品免费| 97夜夜澡人人爽人人喊中国片| 熟妇人妻AV中文字幕老熟妇| www久久久888| 精品福利一区二区三区| 无码中文字幕日韩专区| 18禁高潮出水呻吟娇喘蜜芽| 不卡无毒免费毛片视频观看| 日本大片在线一区二区三区| 无遮挡很爽很污很黄的女同| 又爽又黄又无遮挡网站| 亚洲中文字幕无码永久在线| 亚洲熟妇av日韩熟妇av| 人妖在线一区二区三区| 亚洲a∨无码男人的天堂| 亚洲av熟妇高潮30p| 蜜臀av中文人妻系列| 久久99精品国产麻豆| 小蜜被两老头吸奶头在线观看| 丰满爆乳无码一区二区三区| AV无码专区亚洲AVL在线观看| 国产91九色免费视频| 日本动漫瀑乳h动漫啪啪免费| 亚洲av无码av制服另类专区| 四虎影视久久久免费| 精品色老头老太国产精品| 蜜桃视频色版在线观看| 亚洲国产av高清一区二区三区| 大尺度免费观看av网站| 怡红院免费的全部视频| 日本高清一区二区不卡视频| 91亚洲免费在线观看视频| 高潮内射双龙视频| 国产曰批免费视频播放免费s| 国产粉嫩嫩00在线正在播放| 亚洲国产色婷婷久久精品|