精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于IP2022處理器和ipOS操作系統實現牌照識別器的設計

電子設計 ? 來源:電子技術應用 ? 作者:宋振宇,宋煥生, ? 2021-06-22 15:56 ? 次閱讀

作者:宋振宇,宋煥生,魏鵬輝

隨著Internet技術的廣泛應用,許多專家預測Internet技術將會無所不在,且是一個嵌入式技術。這就導致了一個需求,即在某些電子、電器設備中,以低成本去執行物理層(PHY)與TCP/IP函數集。嵌入式互聯網技術可廣泛應用于家電產品、安全設備、自動售貨機、遠程抄表以及工業控制等領域。

在大量的嵌入式應用中,為物理層提供網絡連接是一個關鍵。然而TCP/IP網絡協議棧的供應商并沒有意識到這一點。通常,即使協議棧是以軟件形式執行,接口也是以某種專用的硬件形式提供。Ubicom的網絡處理器IP2022已經能夠執行TCP/IP協議模塊,也能以軟件形式執行物理口,例如UARTI2C等。隨著以太網MAC/PHY物理層接口需求的增長,專為執行以太網協議的軟件模塊(ipModule)已經實現。

1 1P2022介紹

IP2022是Ubicom公司最新產品。IP2022芯片為網絡連接應用進行了優化,十分適用于Internet基礎設備和網橋/網關部分。使用Ubicom的預制軟件模塊和配置工具可以對芯片編程和重新編程,為多種設備間和人機間通訊應用創建了真正的單芯片解決方案。

IP2022內含兩個全雙工串化器/解串器(Ser/Des)硬件單元,能直接與各種常用網絡接口相連。這種功能使其能夠實現片內10 Base-T以太網、USB以及其它各種快速串行協議。由于擁有Ser/Des硬件單元,IP2022也便于從一種協議轉換到另一種協議,因而也能作為協議轉換器

IP2022的軟件模塊包括10base-T以太網、USB、UART、I2C、SPI、并行從設備物理接口以及一個完整的TCP/IP堆棧。正在開發的多種附加軟件可用于構建完整的端到端連接解決方案。Ubicom的Internet處理器體系結構和軟件模塊的組合創建了一個強大靈活的平臺,使設計人員能夠有信心跟上標準的更新與市場需求的變化,設計出用于未來的產品。

IP2022具有100MIPS的處理能力,并為通訊應用進行了優化。它能夠在執行應用程序的同時,提供高速計算、靈活的I/O控制和高效的數據處理功能,因此可用于高性能物理接口和網絡協議的軟件實現。IP2022的工作電壓為2.5V,芯片上帶有內置的電荷泵,因此不需要為閃存編程而提供高電壓。

2 IP2022操作系統中OS簡介

ipOS是Ubicom設計的可配置的嵌入式實時操作系統。它是專為網絡應用而優化的,然而不論在哪兒執行通信網絡協議,都存在一個問題,就是如何最好地支持各種不同通信緩沖區/包(Buffer/Packet)的協議層。ipOS所采用的數據結構、網絡緩沖區(Netbuf)為此類問題提供了一個有力且靈活的解決方案,與此同時達到了最少使用存儲器的目的。

ipOS支持單任務與多任務操作模式。要使用單任務模式可在配置工具中關閉多任務選項。在單任務模式下,需要盡可能快地輪詢調用每個物理接口和一些操作系統函數。由于僅有一個任務,在輪詢循環(Polling loop)中,任何被直接或間接調用的函數必須盡可能快地返回,因為這些函數阻礙了其它系統進程的繼續進行。函數在等待I/0時,不能阻塞進程的執行,這是最重要的。

3 10Base-T以太網的軟件執行

3.1硬件需求

要給10Base-T以太網設置串化器/解串器(Ser/Des),來自差分線接收器或片上比較器的輸人數據端應連接到IP2022 Ser/Des接收器的輸入端,以太網的接收/發送信號要匹配Ser/Des指定的管腳。這些管腳通過一個帶有終端的變壓器連接到一個RJ45插座。IP2022與以太網接口連接示意圖如圖1所示。

在這個實現中,IP2022在單個芯片上從以太網MAC/PHY層到應用層完成了網絡互連的所有方面。10Base-T以太網的實現利用了IP2022片內Ser/Des單元,從而使外圍器件最少。

IP2022工作電壓為2.5V。在這個設計中,以太網接口需要5V電壓而IP2022 I/0卻工作在2.5V上,因此必須選擇一個正確轉換匝數的以太網變壓器。所選的變壓器或者能接受2.5V輸入,或者可在電路中插入一個5V的TTL緩沖器來允許使用1:1的變壓器。另一種方法是使IP2022的I/0工作在3.3V上,使用一個5V的CMOS緩沖器。在這個設計中,選擇了一個1:1的變壓器,因為它們更易購買,且價格合算;還有,大多數帶有內置變壓器的RJ45連接器僅在較為流行的1:1轉換配置中有用,通過去掉電路中的緩沖器,可進一步簡化電路。

3.2 軟件功能

以太網軟件執行以下操作

(1)極性檢測與反轉;

(2)載波偵聽;

(3)超時檢測;

(4)連接完整性測試與連接脈沖產生;

(5)一旦沖突,隨機后退;

(6)檢測到沖突時,發送一個32 bit的jam序列;

(7)以太網包的形成,通過把報頭、目的地址、源地址、長度/類型、MAC客戶數據放人到發送緩沖區,軟件必須計算幀校驗;

(8)MAC層函數。

發送連接通過把Ser/Des的發送管腳改為通用I/0腳,產生一個連接脈沖。它使用實時時鐘定時器產生一16ms的時基。發送后,連接脈沖定時器復位為0。

接收連接刷新一個定時器,上界檢查是在24ms,不執行下界檢查。連接脈沖寬度由硬件檢測。

在發送幀,包含了駐留在IP2022 PRAM中硬編碼的數據。幀包括目的/源地址、幀長、數據和32 bit的CRC。如果通道不忙,則開始傳送幀。若檢測到沖突,發送ISR執行以下操作:

(1)停止傳送;

(2)發送32bit的jam序列;

(3)等待載波空閑;

(4)產生隨機延遲;

(5)返回,重傳條件集。

在接收幀,每個接收ISR檢查接收到的包尾EOP(End Of Packet)。一幀接收到時,接收函數執行以下操作:

(1)幀校驗序列;

(2)地址檢查,單址通信和多址通信;

(3)檢查保留地址;

(4)幀長度(太長或太短)檢查。

沖突檢測是通過監聽載波偵聽指示位來進行的。最大的延遲為16bit的時間。

在MAC層應用程序接口,MAC客戶(上層)通過初始化數據指針和緩沖區長度發送一個包。然后調用“Transmit_Packet”函數,返回值是發送的結果。主程序通過輪詢調用一個“Receive_ Packet”函數接收一個包。非零返回值指示接收到一個有效的包。

在網絡緩沖區(Netbuffer),較高層定義一個叫netbuffer的數據結構。這是訪問TCP/UDP數據報不同元素的最好方法。與原始IP包一起,有一些分配給數據包元素(例如:源IP地址、目的IP地址、選項等)的指針。這些指針是靜態的。與指針相關的還有長度域,這樣很容易改變netbuffer的選項數目。為了構成一個MAC幀,發送程序必須根據指針和長度域從netbuffer中把數據級聯起來。

4 ipOS應用程序的編寫

ipOS操作系統可工作在單任務模式或多任務模式下。在大多數情況下單任務模式的程序足以滿足實時應用需求。利用Ubicom的Unity IDE開發環境生成的一個工程,最基本的有3個文件:entry.s、isr.s和main.c。

4.1引導程序代碼

所有引導程序代碼都放在entry.s文件中。這段代碼在復位向量處加載了一個占位程序。當IP2022上電時,IP2022跳到復位向量處執行引導程序代碼。該代碼完成以下功能:

(1)更新FCFG寄存器,這樣代碼執行速度對時鐘頻率而言是優化的;

(2)設置堆棧指針指向數據存儲器的末端;

(3)通用寄存器初始化為0;

(4)把.data段從FLASH中加載到數據存儲器的開始處;

(5)將.data段之后的數據存儲器區域設置為0來容納.bss段;

(6)把.pram段從FLASH加載到程序SRAM的開始處;

(7)將程序SRAM區域設置為0來容納.pram_data段;

(8)引導程序完成,跳到main()主函數。

注意:用戶的任何初始化代碼應該加入到main()函數中,不應該加到entry.s文件中。

4.2中斷服務函數

isr.s是中斷服務函數(1SR)文件。當一個異步事件發生時,就會執行對應的ISR。在大多數使用虛擬外設的應用中,都要用到定時器timer0中斷來控制周期性的進程。有兩種ISR模板用于幫助基于timer0虛擬外設的開發。第一種是“Simple ISR template using timer0”,另一種是“Complex ISR Template”。

如果僅有一個虛擬外設或所有的虛擬外設需要以同樣的頻率執行,那么使用第一個模板是很合適的。對于較為復雜的應用,可以使用“Complex ISR template”模板。詳細的例子可參考其SDK幫助文件。

4.3主體結構

main.c文件是應用程序的主體結構,主要包括配置塊(CONFIC_BLOCK)和main()函數。

配置塊是系統配置參數信息,它存儲在IP2022的FLASH存儲器中,控制著系統時鐘、PLL分頻系數和其它的一些系統參數。

在main()函數中,主程序的結構非常簡單。首先是調用debug_init()、heap add()和timer_init()這3個函數對操作系統進行初始化;然后是創建虛擬外設實例進行監聽,用戶的回調函數(Callback Function)作為監聽函數的參數;接著是設置中斷服務函數并使其開始運行;最后是對虛擬外設的端口進行輪詢。當輪詢函數檢測到相應的狀態時,就會調用相應的回調函數。一般來說,這些叵調函數是用戶自己設計的處理函數。

下面是一個使用UART虛擬外設的例子:

int main(void)

{

stmct uart_instance *uarti;

/*初始化操作系統*/

debug_init();

heap_add((addr_t)(&_bss_end),(addr_t)(RAMEND -

(DEFAULT_STACK_SIZE-1))-(addr_t)(&_bss_end));

/*創建UART實例,進行監聽。uart_recv_intr是用戶編制的回調函數*/

uarti:echo_uart_vp_instance_alloc();

uarti—》listen(uarti,uarti,NULL,uart_recv_intr,NULL)

/*配置中斷服務函數, 使其開始運行*/

tmr0_init();

set_int_vector(iSr);

global_int_enable();

/*死循環,輪詢UART*/

while(TRUE){

echo_uart_vp_recv_poll(uarti);

echo_uart_vp_send_poll(uar

timer_poll();

}

}

其它諸如以太網、USB等通信程序,結構與此基本上相同,只是通信協議不同,程序的基本思想是一致的。

5 應用實例

高德威智能交通系統有限公司開發的新一代嵌入式牌照識別器(License Plate Recognition)功能框圖如圖2所示。通信接口芯片采用Ubicom的網絡處理器IP2022,其片上虛擬外設包括UART、USB和以太網等接口,可以方便地接人Internet,從而實現遠程程序更新和數據下載等功能。DSP采用TI的定點處理器TMS320C6204,完全滿足實時處理的要求。視頻處理器為Philips的SAA711lA,FPGA使用Altera的EPlK300QC,FLASH為SST的SST39LV016,SDRAM為ICSI的IS42S16400。

下面簡要介紹一下牌照識別器的工作流程。系統上電,IP2022復位并進行網絡操作系統初始化工作。初始化完成后,IP2022取得對FLASH操作的總線控制權,開始讀取FLASH中的FPGA程序配置邏輯。FPGA電路配置完成后,IP2022向FPGA中的控制寄存器的相應控制位寫一跳變脈沖復位DSP,并釋放對FLASH的操作控制權。IP2022開始等待DSP啟動的完成。

DSP的Reset腳連接到FPGA控制寄存器的對應控制位。DSP通過FPGA控制邏輯以DMA方式從FLASH中讀取64K字節的程序。這64K程序中的引導程序負責把余下的DSP程序調度到SDRAM中。程序調度完成后,DSP釋放對FLASH的總線控制權,并通知IP2022自己啟動完成。DSP進入正常工作狀態,通過12C總線設置SAA7111A,然后循環檢查FPGA控制寄存器的狀態位以等待汽車的到來。

DSP啟動完成后,IP2022重新取得對FLASH的控制權,進入輪詢狀態監聽以太網和UART口。此時,遠程主機可以通過以太網口對系統進行調試,更新DSP或FPGA程序。

當汽車到來時,埋在地下的線圈便會觸發,FPGA的控制寄存器的相應狀態位發生變化。DSP檢測到該變化時便向攝像機發送抓圖命令。攝像機輸出的模擬視頻信號通過視頻處理器進行A/D變換后,形成YUV數字視頻信號,再通過FPGA邏輯傳輸到DSP的SDRAM中。DSP開始執行牌照識別算法,所識別的牌照號可通過串口或網口傳送到主機。而抓拍的圖像經過JPEG壓縮后也可通過以太網傳輸到遠程主機。

通過使用本文介紹的方案,原先需要通過專用通信鏈路進行數據傳輸的各種電子設備,現在只要在其中加上一個廉價的網絡處理器,而無需昂貴的PC機或工作站就可以通過互聯網進行數據傳輸。這就給電子設備的升級、維護等帶來了極大的方便性和靈活性。可以預料,嵌入式互聯網技術必將在各個領域得到更為廣泛的應用。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    18926

    瀏覽量

    227219
  • 嵌入式
    +關注

    關注

    5045

    文章

    18817

    瀏覽量

    298487
  • 操作系統
    +關注

    關注

    37

    文章

    6545

    瀏覽量

    122743
收藏 人收藏

    評論

    相關推薦

    32位嵌入式處理器與8位處理器應用開發的區別

    32位的RISC嵌入式處理器非常大的優勢,為嵌入式設計帶來豐富的硬件功能和額外的性能,已經成為嵌入式應用和設計的主流。而8位處理器通常受到的64K軟件限制也不存在了,設計者幾乎可以任意選擇多任務操作系統。32位
    發表于 09-22 10:42 ?1529次閱讀

    嵌入式實時操作系統uCOS II經典實例:基于STM32處理器

    嵌入式實時操作系統uCOS II經典實例:基于STM32處理器.part1
    發表于 10-18 23:59

    基于STM32處理器的嵌入式實時操作系統μCOS-Ⅱ經典實例光盤資料

    買的書帶的 可以參考下嵌入式實時操作系統μCOS-Ⅱ經典實例——基于STM32處理器-光盤資料.zip (12.94 MB )
    發表于 02-13 06:35

    網絡處理器IP2022電子資料

    概述:IP2022是一款功能強大的網絡通信處理器,在4.8MHz晶振驅動下,利用其內部的鎖相環(PLL)電路,CPU工作頻率可達到120MHz,并且大多數指令均為單周期執行,其吞吐量能滿足各種新型網絡連通應用。
    發表于 04-07 07:27

    IP2022在嵌入式牌照識別系統中的應用是什么?

    IP2022是什么?如何去編寫一種ipOS應用程序?IP2022在嵌入式牌照識別系統中的應用是什么?
    發表于 06-03 06:31

    雙內核Cortex-A9處理器設計實現

    類別:嵌入式系統處理器知識產權許可商ARMHoldingsplc已經成功開發出雙內核Cortex-A9處理器設計(被稱為Osprey)的兩個實現。Cortex-A9
    發表于 12-13 06:03

    Sitara AM62處理器的資料分享

    分析。AM62處理器還支持雙屏全高清顯示和多種操作系統,包括主線Linux?和 Android 操作系統。此外,AM62處理器可提供有線和無線連接接口。將
    發表于 11-03 06:11

    網絡處理器IP2022的原理及應用

    利用Ubicom公司的IP2022網絡處理器可單芯片實現10BaseT以太網和其它多種快速串行協議, 特別適合網橋7網關和基于網絡的控制應用。文中介紹了IP2022芯片的結構、 功能特
    發表于 04-24 15:02 ?25次下載

    基于ARM的PC/104處理器模塊設計

    提出了一種低成本的PC/104處理器模塊的設計。該模塊硬件上以ARM處理器為核心實現了PC/104處理模塊的基本結構、總線接口,軟件上構建了嵌入式Linux
    發表于 08-25 10:36 ?20次下載

    IP2022中文資料,pdf (網絡處理器)

    利用Ubicom公司的IP2022網絡處理器可單芯片實現10BaseT以太網和其它多種快速串行協議,特別適合網橋/網關和基于網絡的控制應用。文中介紹了IP2022芯片的結構、功能特點及
    發表于 10-03 13:30 ?179次下載

    Intel 64位處理器,Intel 64位處理器結構原理

    Intel 64位處理器,Intel 64位處理器結構原理 現在人們廣泛使用的是由32位微處理器構成的計算系統,但是32位的計算和操作系統
    發表于 03-26 15:07 ?3243次閱讀

    網絡處理器IP2022及其在嵌入式牌照識別系統中的應用

    摘要:介紹了UBICOM公司的最新網絡處理器IP2022以及專為網絡優化而設計的嵌入式實時操作系統IPOS的特點.描述了如何在IPOS下編制
    發表于 03-01 01:18 ?51次下載
    網絡<b class='flag-5'>處理器</b><b class='flag-5'>IP2022</b>及其在嵌入式<b class='flag-5'>牌照</b><b class='flag-5'>識別系統</b>中的應用

    MP32處理器在定制嵌入式系統實現MIPS輔助系統

    針對VxWorks實時操作系統重新使用已有的應用軟件代碼以及中間件。MP32處理器是第一款也是唯一一款支持VxWorks的軟核處理器。MP32處理器以及Altera最新的FPGA為您開
    發表于 11-30 16:37 ?827次閱讀
    MP32<b class='flag-5'>處理器</b>在定制嵌入式<b class='flag-5'>系統</b>中<b class='flag-5'>實現</b>MIPS輔助<b class='flag-5'>系統</b>

    嵌入式實時操作系統μCOS-Ⅱ經典實例——基于STM32處理器-

    嵌入式實時操作系統μCOS-Ⅱ經典實例——基于STM32處理器-光盤資料
    發表于 01-14 12:04 ?25次下載

    PXA255處理器在WinCE系統下的BootLoader的設計與實現

    PXA255處理器在WinCE系統下的BootLoader的設計與實現
    發表于 10-25 10:04 ?4次下載
    PXA255<b class='flag-5'>處理器</b>在WinCE<b class='flag-5'>系統</b>下的BootLoader的設計與<b class='flag-5'>實現</b>