當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]核數(shù)據(jù)采集系統(tǒng)中的100Mbps以太網(wǎng)控制模塊

    摘要:介紹清華同方核數(shù)據(jù)采集系統(tǒng)中的100Mbps以太網(wǎng)控制模塊的硬件、軟件設(shè)計(jì),以及以太網(wǎng)控制模塊的發(fā)展和未來(lái)。該模塊是基于32位高性能的ColdFire5307微處理器設(shè)計(jì)的,運(yùn)行嵌入式操作系統(tǒng)uClinux,完成基于以太網(wǎng)的數(shù)據(jù)采集任務(wù)。

    關(guān)鍵詞:ColdFire 以太網(wǎng)控制模塊 bootloader uClinux 嵌入式操作系統(tǒng)

清華同方公司的核數(shù)據(jù)采集系統(tǒng)中的數(shù)據(jù)收集和發(fā)送的通信控制模塊,以前是基于CAN總線設(shè)計(jì)開(kāi)發(fā)的,也有效可靠地完成了以前的數(shù)據(jù)采集任務(wù),在威視集裝箱檢測(cè)系統(tǒng)中發(fā)揮了應(yīng)有的作用。但是隨著前端數(shù)據(jù)量的急劇增加,CAN總線的許多缺點(diǎn),大大限制了系統(tǒng)的通信能力,同時(shí)以往的8位處理模塊也無(wú)法勝任大量數(shù)據(jù)的緩存和發(fā)送任務(wù)。因此,我們?yōu)橥胶?strong>數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)了100Mbps以太網(wǎng)接口的32位嵌入式控制模塊,成功地完成了系統(tǒng)中高速通信控制功能。

1 100Mbps以太網(wǎng)與CAN總線的對(duì)比

100Mbps以太網(wǎng)接口相比CAN總線接口,在數(shù)據(jù)傳輸速度、傳輸距離、軟件可靠性、控制軟件開(kāi)發(fā)的難度,及以后的可擴(kuò)展性等各個(gè)方面,都有很大的優(yōu)勢(shì),因此,在通信能力要求較高的系統(tǒng)中采用100Mbps以太網(wǎng)替代CAN總線的優(yōu)勢(shì)是顯然的。

2 100Mbps以太網(wǎng)控制模塊的硬件架構(gòu)

100Mbps以太網(wǎng)控制模塊的硬件設(shè)計(jì)比較復(fù)雜,包括的外設(shè)也比較多,不過(guò)主要是以ColdFire5307微處理器和以太網(wǎng)通信芯片ASIX88796L為核心的,如圖1所示。

(1)ColdFire5307

ColdFire系列微處理器是Motorola公司面向嵌入式工業(yè)控制系統(tǒng)的高性能32位微處理器。它具有很好的32位架構(gòu),是Motorola公司延續(xù)M68K產(chǎn)品線的替代產(chǎn)品,繼承了M68K系列優(yōu)秀的指令集成設(shè)計(jì)和CISC架構(gòu)的優(yōu)點(diǎn),并融入了RISC架構(gòu)的優(yōu)點(diǎn),在速度和架構(gòu)之間得到很好的平衡,非常適合于工業(yè)現(xiàn)場(chǎng)控制。ColdFire5307是ColdFire家族的第3代產(chǎn)品,除了內(nèi)部的32位微處理器以外,還帶有一個(gè)算術(shù)累加單元,用于完成數(shù)字信號(hào)處理系統(tǒng)中常用的累加和累乘等常見(jiàn)數(shù)字信號(hào)處理算法等。ColdFire微處理器上可以運(yùn)行流行的實(shí)時(shí)操作系統(tǒng),像VxWorks和Nucleus等。但是最為可靠和常見(jiàn)的,是運(yùn)行uClinux操作系統(tǒng)。

    (2)100Mbps以太網(wǎng)芯片及其電路部分

ASIX公司的ASIX88796L是NE2000兼容的、16位數(shù)據(jù)總線接口的、10M/100Mbps自適應(yīng)的以太網(wǎng)通信芯片。之所以選擇ASIX88796L,主要原因是它極高的性價(jià)比和NE2000兼容的架構(gòu)。NE2000是非常好的以太網(wǎng)MAC層構(gòu)架,也是非常成熟的架構(gòu)。NE2000架構(gòu)以太網(wǎng)接口芯片的驅(qū)動(dòng)和應(yīng)用也是非常成熟的,在uClinux操作系統(tǒng)下也可以比較容易應(yīng)用。

ASIX88796L的內(nèi)部帶有8K字的SRAM作為發(fā)送和接收以太網(wǎng)數(shù)據(jù)的緩沖器。另外,ASIX88796L內(nèi)部帶有10M/100Mbps的以太網(wǎng)物理層接口(PHY),可以直接和以太網(wǎng)隔離變壓器連接以后接RJ45接口。

ASIX88796L芯片支持80186總線、M68K總線和8051總線。我們使用它的M68K總線模式來(lái)和ColdFire5307接口。這種模式的選擇可以通過(guò)ASIX88796L的模式選擇引腳CPU1:0進(jìn)行:當(dāng)CPU1:0設(shè)置為0b10時(shí),選擇Motorola的M68K總線,這個(gè)時(shí)候ASIX88796L的引腳和ColdFire5307的引腳。

這種連接就使得ASIX88796L掛在了ColdFire5307的外部總線上,可以通過(guò)片選信號(hào)5來(lái)訪問(wèn)外設(shè)ASIX88796L。其中BE0和BE1是16位數(shù)據(jù)線的高低字節(jié)單獨(dú)的選擇信號(hào),它們使得ColdFire5307可以單獨(dú)讀寫ASIX88796L的8位寄存器,而不需要一次訪問(wèn)16位寄存器。

(3)SDRAM電路部分

作為32位高性能嵌入式微控制器,ColdFire5307內(nèi)部自帶DRAM控制器,可以外接EDO的DRAM和同步DRAM(也就是SDRAM)。因?yàn)镋DO DRAM在嵌入式系統(tǒng)中已經(jīng)不常使用,因此在100Mbps以太網(wǎng)控制模塊中使用了價(jià)格低廉、容量巨大的SDRAM。這種SDRAM和PC上使用的SDRAM內(nèi)存條上面的SDRAM芯片是同樣的,因此價(jià)格很低,非常適合系統(tǒng)使用。

100Mbps以太網(wǎng)控制模塊中使用了2片4M×16位的SDRAM拼成4M×32位的SDRAM,這樣就有了16MB的RAM空間。使用的SDRAM是現(xiàn)代公司的HY57V641620。每片SDRAM由4個(gè)1M×16位的內(nèi)部Bank組成,這個(gè)Bank的選擇由SDRAM的外部引腳BA0和BA1來(lái)完成,在我們的模塊中BA0和BA1都連接在ColdFire5307的高端地址線上;其它信號(hào)和ColdFire都一一對(duì)應(yīng)。UDQM和LDQM是SDRAM的高低字節(jié)片選信號(hào),因?yàn)槊科琒DRAM都是16位架構(gòu),所以將兩片SDRAM拼在一起變成32位時(shí),其它信號(hào)線對(duì)兩片SDRAM來(lái)說(shuō)都是共用的,唯有數(shù)據(jù)線和這兩個(gè)信號(hào)不是共用的。這兩個(gè)信號(hào)應(yīng)該分別接ClldFire的CAS0、CAS1和CAS2、CAS3。

(4)其它電路部分

100Mbps以太網(wǎng)控制模塊的硬件設(shè)計(jì)還包括:4MB16位總線寬度Flash存儲(chǔ)器、Real Time Clock、CPLD總線擴(kuò)展等。Flash存儲(chǔ)器主要用于存儲(chǔ)程序代碼和數(shù)據(jù),其中下面要提到的bootloader及uClinux就是存放在Flash存儲(chǔ)器中;Real Time Clock實(shí)時(shí)時(shí)鐘接口電路可以給模塊提供準(zhǔn)確的時(shí)間信息;CPLD主要用于總線擴(kuò)展。它們具體的電路連接比較簡(jiǎn)單,這里就不再作詳細(xì)說(shuō)明。

3 100Mbps以太網(wǎng)控制模塊的軟件架構(gòu)

100Mbps以太網(wǎng)控制模塊的軟件開(kāi)發(fā)是基于uClinux操作系統(tǒng)的,模塊架構(gòu)如圖2所示。

bootloader用來(lái)完成系統(tǒng)啟動(dòng)和操作系統(tǒng)加載的工作。在8位單片機(jī)中,一般沒(méi)有bootloader的概念。因?yàn)?位單片機(jī)系統(tǒng)的架構(gòu)比較簡(jiǎn)單,系統(tǒng)復(fù)位以后就會(huì)運(yùn)行ROM中的代碼;而32位單片機(jī)本身需要初始化的內(nèi)容很多。因?yàn)檐浖ぷ魅藛T只需要關(guān)心開(kāi)發(fā)操作系統(tǒng)和應(yīng)用代碼,硬件和底層軟件工程師就必須提供初始化系統(tǒng)和下載操作系統(tǒng)以及應(yīng)用代碼的一個(gè)機(jī)制,就形成了bootloader,功能和PC機(jī)上常用的BIOS(Basic Input Output System)的功能是一樣的。圖3的bootloader是使用Motorola的dBUG為模板,參照其它bootloader而形成的。嵌入式操作系統(tǒng)uClinux在CodFire硬件平臺(tái)上的下載及運(yùn)行都是通過(guò)bootloader完成的。

正如前面提到的,模塊的軟件設(shè)計(jì)是基于uClinux操作系統(tǒng)的。這是因?yàn)閡Clinux操作系統(tǒng)是面向像ColdFire5307這種內(nèi)部沒(méi)有內(nèi)存管理單元(MMU)的嵌入式微處理器的。它具有很好的擴(kuò)充性和延續(xù)性,非常適合作為ColdFire系列操作處理器的操作系統(tǒng)。另外,uClinux操作系統(tǒng)源代碼公開(kāi),是面向全世界開(kāi)發(fā)工程師的免費(fèi)操作系統(tǒng);它支持最新的技術(shù)和器件,非常有利于軟件的開(kāi)發(fā)。

要使用uClinux操作系統(tǒng)進(jìn)行軟件開(kāi)發(fā),必須先對(duì)uClinux進(jìn)行編譯,并移植到ColdFire硬件平臺(tái)上。UClinux的編譯需要三個(gè)步驟。

(1)配置內(nèi)核

命令就用make menuconfig。(在/uClinux-dist/目錄下。)

首先是選擇target,就是使用的芯片和板子。我們選用的是Cadre-III的板子,因?yàn)檫@和ColdFire5307硬件架構(gòu)最接近。然后是選擇內(nèi)核。Gerg的內(nèi)核包都同時(shí)包架構(gòu)最接近。然后是選擇內(nèi)核。Gerg的內(nèi)核包都同時(shí)包含了2.0.x和2.4.x兩個(gè)內(nèi)核。這兩個(gè)內(nèi)核各有好處,2.4.x支持的平臺(tái)可能多些,但一些應(yīng)用調(diào)試會(huì)很累(比如ppp);而2.0.x的內(nèi)核支持的平臺(tái)可能少些(比如vz328),但調(diào)試應(yīng)用問(wèn)題極少。

    其它的配置就要看系統(tǒng)的需要。不明白的可以參照Documentation/和linux-2.0.x/Documentation/或linux-2.4.x/Documentation/下的文檔,最重要的當(dāng)然還是Configure.help。

(2)Make dep

配置完以后需要先使用make dep命令。這個(gè)命令會(huì)按照用戶選擇的配置架構(gòu),對(duì)每一個(gè)目錄生成特定的makefile文件。

(3)Make

最后使用make命令生成目標(biāo)代碼。如果成功,在uClinux-dist下有一個(gè)images目錄。下面有四個(gè)文件:

image.elf——ELF格式含調(diào)試信息和romfs的uClinux,可以在Linux環(huán)境下用gdb裝載調(diào)試運(yùn)行;

romfs.bin——romfs的二進(jìn)制文件;

linux.bin——linux.bin和romfs.bin合并而成,并多了4字節(jié)的校驗(yàn),這個(gè)文件的內(nèi)容通過(guò)bootloader下載到RAM里后就可以直接從入口運(yùn)行了。在我們的以太網(wǎng)控制模塊中,這個(gè)文件會(huì)被下載到RAM里的0x20000地址處,這樣設(shè)置了PC從0x20000開(kāi)始運(yùn)行就可以了。通過(guò)bootloader還可以將image.bin從RAM與到Flash中,避免掉電丟失。

這樣就將uClinux移植到了ColFire硬件平臺(tái)上。這時(shí),系統(tǒng)啟動(dòng)后經(jīng)過(guò)初始化,ColdFire5307的bootloader會(huì)自動(dòng)加載運(yùn)行uClinux操作系統(tǒng)。UClinux操作系統(tǒng)在初始化定義的硬件接口下,可以訪問(wèn)ASIX88796L。

在uClinux操作系統(tǒng)下為新的100Mbps以太網(wǎng)添加驅(qū)動(dòng)也比較簡(jiǎn)單。關(guān)鍵的文件有兩個(gè):一個(gè)是uClinux/linux/drivers/net/目錄下的ne.c文件;另一個(gè)文件是uClinux/linux/include/asm-m68knommu/目錄下面的mcfne.h文件。其中mcfne.h文件主要定義端口的讀寫,也就是一些底層的讀寫操作;而ne.c文件是NE2000系列以太網(wǎng)接口芯片在uClinux操作系統(tǒng)下驅(qū)動(dòng)的具體實(shí)現(xiàn)。對(duì)二者略微修改,就可以完成100Mbps以太網(wǎng)驅(qū)動(dòng)的添加工作。

至此,uClinux操作系統(tǒng)就在ColdFire硬件平臺(tái)上跑起來(lái)了,并且 安裝好了100Mbps以太網(wǎng)的驅(qū)動(dòng),可以在上面進(jìn)行具體的軟件開(kāi)發(fā)了。

4 100Mbps以太網(wǎng)控制系統(tǒng)的發(fā)展和未來(lái)

軟件方面:隨著uClinux內(nèi)核的不斷升級(jí),將采用更新的內(nèi)核來(lái)更好的支持多線程,提高軟件的綜合性能,并且完善應(yīng)用代碼。

硬件方面:將會(huì)采用具有更高速度和性能的V4sColdFire內(nèi)核的ColdFire系列微處理器來(lái)設(shè)計(jì)硬件模塊,比如ColdFire5470等。這些微處理器不但有更高的速度,而且內(nèi)部帶有FPU(浮點(diǎn)運(yùn)算單元)和集成的MAC(以太網(wǎng)MAC層控制器),并且?guī)в蠵CI控制器等。我們采用新的內(nèi)核的微處理器可以使得數(shù)據(jù)采集的傳輸速度達(dá)到100Mbps的高速傳輸,使用PCI也使得我們的嵌入式模塊可以和VME總線的橋芯片連接起來(lái)作為低成本的VME總線控制設(shè)備。這些都是系統(tǒng)將要發(fā)展的方向。另外可以將以太網(wǎng)控制器的速度擴(kuò)展到1Gbps,這將會(huì)使系統(tǒng)的傳輸能力大幅度提高。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉