99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

剖析Blackfin及嵌入式ktClinux在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用

電子工程師 ? 來(lái)源:電子設(shè)計(jì)應(yīng)用 ? 作者: 孟文東 王厚軍 葉 ? 2021-04-06 11:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

摘要:本文介紹了一款高性價(jià)比的嵌入式處理器,并提供了帶USB、以太網(wǎng)TFT LCD的嵌入式數(shù)據(jù)采集系統(tǒng)解決方案,以及BT531的U-Boot和μClinux的編寫移植,大大簡(jiǎn)化了數(shù)字設(shè)備日益繁多的功能和外設(shè)驅(qū)動(dòng)的開(kāi)發(fā)。

前言

在數(shù)據(jù)采集系統(tǒng)中,數(shù)字處理是系統(tǒng)核心內(nèi)容之一;然而隨著科技發(fā)展,越來(lái)越多的功能需求使得采集系統(tǒng)的外設(shè)也越來(lái)越復(fù)雜,外設(shè)通訊和驅(qū)動(dòng)編寫成為一項(xiàng)復(fù)雜和繁瑣的工作。以應(yīng)用為中心嵌入式系統(tǒng)為此類需求提供了一個(gè)良好的解決方案,能夠適應(yīng)實(shí)際應(yīng)用中對(duì)功能、可靠性、成本、體積、功耗的嚴(yán)格要求。ADI公司的Blackfin系列處理器將嵌入式微控制器DSP融為一體,取二者之長(zhǎng),提高了系統(tǒng)工作效能,大大降低了成本。同時(shí),多線程的實(shí)時(shí)嵌入式操作系統(tǒng)也可增強(qiáng)采集系統(tǒng)的實(shí)時(shí)性、穩(wěn)定性。對(duì)開(kāi)發(fā)者來(lái)說(shuō),Blackfin處理器和μClinux的結(jié)合很有吸引力。

系統(tǒng)結(jié)構(gòu)及硬件平臺(tái)

本數(shù)據(jù)采集系統(tǒng)主要由2個(gè)數(shù)據(jù)采集通道、1個(gè)觸發(fā)通道、ADc轉(zhuǎn)換及存儲(chǔ)電路、DSP及FPGA控制部分組成,并包含有以太網(wǎng)、RS232接口、USB、TFT液晶顯示部分。系統(tǒng)硬件平臺(tái)原理框圖如圖1所示。

o4YBAGBr0AKAV_WeAADYd40HDj4054.png

信號(hào)從采集通道進(jìn)入,經(jīng)過(guò)信號(hào)調(diào)理電路進(jìn)入ADC,被轉(zhuǎn)換后的數(shù)字信號(hào)即進(jìn)入FPGA、DSP進(jìn)行數(shù)字控制處理。經(jīng)過(guò)DSP處理過(guò)的信號(hào),可送至其它外設(shè)以顯示、存儲(chǔ),或通訊。

BF531為系統(tǒng)的核心部分之一,供電電壓3.3V,內(nèi)核電壓1.2V,為了使系統(tǒng)能夠開(kāi)機(jī)自動(dòng)從FLASH中啟動(dòng),設(shè)置。BMODE為00,即從外部存儲(chǔ)器啟動(dòng)。FPGA、片外SDRAM、FLASH,以及USB和液晶直接和BF531通過(guò)地址線、數(shù)據(jù)線相連。

系統(tǒng)中應(yīng)用了TFT LCD液晶顯示模塊FG050605DNC:,該LCD控制簡(jiǎn)單,只有RGB每色5個(gè)共15個(gè)信號(hào),以及數(shù)據(jù)使能、數(shù)據(jù)時(shí)鐘和行頻、場(chǎng)頻控制信號(hào)。LCD晶直接由DSP控制,DSP的Timerl、Timer2提供行、場(chǎng)頻信號(hào),PPI口傳輸數(shù)據(jù),由FPGA提供時(shí)鐘,配置μClinux開(kāi)辟一塊framebuffer作為顯示數(shù)據(jù)存儲(chǔ)區(qū),配合Linux下的液晶驅(qū)動(dòng),即可工作。

軟件設(shè)計(jì)

由于DSP中運(yùn)行的是基本上已經(jīng)成熟的算法和控制流程,所以軟件設(shè)計(jì)的主要工作為在DSP中嵌入操作系統(tǒng)。

U-Boot的移植

U-Boot的移植主要分為兩個(gè)層面,一個(gè)是對(duì)CPU的移植,一個(gè)是針對(duì)Board的移植。U-Boot中已經(jīng)有大量可直接下載到某些開(kāi)發(fā)板上的程序,為了減小工作量,可選一個(gè)最接近自己設(shè)計(jì)的開(kāi)發(fā)板來(lái)進(jìn)行修改。本設(shè)計(jì)中采用了stamp目標(biāo)板。

具體如下:

(1)拷貝board下面的文件夾stamp,重命名為mybf531,作為即將要修改配置的目標(biāo)板。

拷貝cpu下面的文件夾bf533,重命名為bf531,作為將要修改的cpu bf531。再將board和bf531文件夾中所有關(guān)于stamp板的文件名及包含頭文件等改為mybf531;將所有關(guān)于bf533的文件名及包含頭文件等改為bf531。注意文件間的依賴關(guān)系,確定是該添加文件還是修改文件,并記錄文件改動(dòng)。

(2)Makefile文件

在u-boot根目錄下的makefile文件中添加bf531和mybf531的編譯規(guī)則,如下:

ifeq($(CPU),bf531)

OBJS+=cpu/$(CPU)/start 1.0

OBJS+=cpu/$(CPU)/interrupt.0

0BJS+=cpu/$(CPU)/cache.0

OBJS+=cpu/$(CPU)/cplbhdlr.0
OBJS+=cpu/$(CPU)/cplbmgr.O

OBJS+=cpu/$(CPU)/flush.O

OBJS+=cPu/$(CPU)/

init sdram.O

endif

mybf531_config: unconfig

@./mkconfig$(@:_config=)

blackfin bf531 mybf531

(3)include/configs/mybf531.h

板子的功能配置信息大都在include/configs/mybf531.h中,故拷貝stamp.h并修改其中的啟動(dòng)信息和配置信息。重點(diǎn)修改部分如下:

時(shí)鐘信息:

#define CONFIG CLKIN HZ

11059200

#deftne CONFIG VCO MULT

36

#deftne CONFIG SCLK DIV

5

FLASH信息:

#deftlie CFG MAX

FLASH SECT 67

#define CFG ENV ADDR

0x20004000

#defilie CFG ENV SIZE

0x2000

#deftne CFG ENV SECT SIZE

0x2000

#defi!qe CFG FLASH ERASE

TOUT 30000

#define CFG FLASH ERASE

TOUT 30000

SDRAM信息:

#define CONFIG MEM SIZE

128

#define CONFIG MEM ADD

WDTH 11

#deftlie CONFIG MEM

MT48LC64M4A2FB 7E 1

其它配置信息

#defilie AMBCTLOVAL

0xBBC3BBC3

#define AMBCTL 1 VAL

0x99839983

#define VDSP--ENTRY--ADDR

0xFFA00000

并將板子上不需要的功能的宏定義作相應(yīng)設(shè)置。

(4)Board的移植

檢查board/mybf531/中所有文件,首先將board和CPU的相關(guān)stamp.h、stamp.C改為bf531.h和mybf531.C,并檢查其文件的設(shè)置、包含的頭文件和宏定義是否正確。在board/mybf531/config.mk中,找到

TEXT_BASE=0x03FC0000

PLATFORM_CPPFLAGS+=-

I$(TOPDIR)

修改其中的TEXT_BASE值為SDRAM的最大地址與CFG_MONITOR_LEN之差。

(5)CPU的移植

檢查cpu/bf531/中所有文件,首先將board和cpu的相關(guān)stamp.h、stamp.C改為bf531.h和mybf531.C,并檢查其文件的設(shè)置、包含的頭文件和宏定義是否正確。

cpu/bf53 1/cpu.C文件的修改主要在于配置SDRAM頁(yè)的大小屬性,設(shè)置ICPLB、DCPLB、cache的狀態(tài)設(shè)置,icplb_table和dcplb_table和其相應(yīng)屬性的修改。

(6)其它

在以下文件夾中找到下面函數(shù),檢查并根據(jù)具體要求修改

init IRQ() cpu/bf531/ints.C

flash_init()drivers/

cfi_flash.C

env_init() common/

env flash.C

init_baudrate() lib_blackfin/

board.C

serial_init() cpu/bf531/

serial.C

console_init_f(); common/

console.C

display_banner();lib_blackfin/

board.C

checkboard(); board/stamp/

stamp.C

timer_init(); cpu/bf531/

interrupts.C

至此,U-Boot的修改配置基本完成,重新編譯U-Boot代碼,將得到的u-boot.bin通過(guò)JTAG口下載到目標(biāo)板,如果能夠通過(guò)串口輸出啟動(dòng)信息,表明移植基本成功。其間仍需多次修改。移植成功后可相應(yīng)對(duì)功能進(jìn)行增刪。

μClinux的移植下載

本文選擇了httP://blackfin.UClinux.org中提供的μClinux-dist-RO6R2-RC2.tar.bz2作為系統(tǒng)使用μClinux的源代碼。解壓縮之后就可以進(jìn)行內(nèi)核配置和內(nèi)核編譯了,內(nèi)核配置即為內(nèi)核制定適當(dāng)?shù)墓δ堋T诮鈮嚎s之后的源碼根目錄下,執(zhí)行make menuconfig或make xconfig進(jìn)行配置。

其中重要的部分如下:

(1)系統(tǒng)cpu的選擇、系統(tǒng)板卡的選擇及設(shè)置

Kernel executes from RAM

Cyrstal Frequency 1000Hz

SDRAM Memory Size in Mbytes

32 SDRAM Memory

Address Width 9

Baud Rate 57600

Enable DMA Support

(BFIN_DMA_5xx)

EBIU_AMBCTL Global Control

EBIU_AMBCTL Control

(2)系統(tǒng)外設(shè)選擇及驅(qū)動(dòng)設(shè)置

本系統(tǒng)外掛以太網(wǎng)、USB、LCD及SPI FALSH,使用RS232、PPI接口等,μClinux內(nèi)核源文件已經(jīng)包含支持Blackfin系列處理器的驅(qū)動(dòng),故只需對(duì)各接口進(jìn)行驅(qū)動(dòng)選擇,對(duì)部分外設(shè)進(jìn)行驅(qū)動(dòng)編寫即可。主要的設(shè)置如下:

Networking support(NET)

Device Drivers

Detect non-CFI AMD/JEDEC-C 0 m P a t i b 1 e fl a s h C h i P S(MTD jEDECPROBE)

ST MW320D compatible flashchip support(MTD_MW320D)

Support for RAM chips in busmapping(MTD_RAM)

Parallel port support(PARPORT)

SCSI device support

NetW0 rk deVice SUPPort(NETDEVICES)

Blackfin BF53x ProgrammableFlags Driver(BF533_PFLAGS)

B1ackfin BF5xx PPI Driver(BF5xx_PPI)

Support for flame buffer devices(FB)

FG0506 TFT LCD on uClinux(M Y B F 5 3 1 S T A M P)(FB_BF531_FG0506)

Support for Host-side USB(USB)

其中FG0506 TFT LCD onUClinux(MYBF531 STAMP)(FB_BF531_FG0506)為在/uClinux-dist/linux2.6.x/driver/video/下編寫bf531_fg0506.C的液晶顯示驅(qū)動(dòng),并改寫該文件夾下的Makefile和Kconfig文件,將該選項(xiàng)編入?clinux源程序的配置選項(xiàng)中。

(3)操作系統(tǒng)內(nèi)核的剪裁

Analog DeVice s BlackfinEmbedded Linux Applicationconfiguration菜單下為關(guān)于Linux系統(tǒng)應(yīng)用程序的配置信息,可以添加或刪除適合本系統(tǒng)的軟件設(shè)置,應(yīng)用程序等。例如,如果要在系統(tǒng)上使用圖形界面,就需要在此部分中選擇Microwindows下的microwin和nano-x的相應(yīng)選項(xiàng),或是將Qt/Embedded編人μClinux源文件,再編入系統(tǒng)內(nèi)核中。除了適合系統(tǒng)的特殊需要,一般此項(xiàng)中的內(nèi)容不需修改。

全部選擇完成之后,使用make進(jìn)行內(nèi)核編譯,在images文件夾下會(huì)生成內(nèi)核文件:linux.ext2、uImage.ext2、vmlinux、rootfs.ext2、rootfs.jffs2等,分別對(duì)應(yīng)不同的文件系統(tǒng)、不同功能大小的系統(tǒng)。

使用串口或以太網(wǎng)將內(nèi)核下載到板子上,啟動(dòng)?clinux看到歡迎界面和root:/>后,嵌入式操作系統(tǒng)即移植成功。

結(jié)語(yǔ)

經(jīng)調(diào)試、修改,最終生成的內(nèi)核已可以運(yùn)行,并對(duì)USB、以太網(wǎng)、LCD有良好的支持,節(jié)約了大量設(shè)備驅(qū)動(dòng)及通訊協(xié)議的編寫,給多外設(shè)的采集系統(tǒng)提供了良好的驅(qū)動(dòng)解決方案,節(jié)約了開(kāi)發(fā)周期和難度。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5147

    文章

    19613

    瀏覽量

    316457
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    40

    文章

    5619

    瀏覽量

    175456
  • LCD1602
    +關(guān)注

    關(guān)注

    14

    文章

    607

    瀏覽量

    53436
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    控制器在數(shù)據(jù)采集系統(tǒng)的關(guān)鍵作用

    隨著數(shù)據(jù)采集系統(tǒng)在各行各業(yè)的應(yīng)用逐漸增多,系統(tǒng)的發(fā)展也日益迅速。從工業(yè)自動(dòng)化、智能制造到科研實(shí)驗(yàn)、環(huán)境監(jiān)測(cè),再到汽車電子等領(lǐng)域,數(shù)據(jù)采集
    的頭像 發(fā)表于 06-10 17:26 ?136次閱讀
    控制器<b class='flag-5'>在數(shù)據(jù)采集</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中</b>的關(guān)鍵作用

    Python在嵌入式系統(tǒng)的應(yīng)用場(chǎng)景

    你想把你的職業(yè)生涯提升到一個(gè)新的水平?Python在嵌入式系統(tǒng)中正在成為一股不可缺少的新力量。盡管傳統(tǒng)上嵌入式開(kāi)發(fā)更多地依賴于C和C++語(yǔ)言,Python的優(yōu)勢(shì)在于其簡(jiǎn)潔的語(yǔ)法、豐富的庫(kù)和快速的開(kāi)發(fā)周期,這使得它在某些
    的頭像 發(fā)表于 03-19 14:10 ?654次閱讀

    如何正確選擇嵌入式文件系統(tǒng)?

    Linux嵌入式系統(tǒng),文件系統(tǒng)和緩存機(jī)制常導(dǎo)致數(shù)據(jù)存儲(chǔ)穩(wěn)定性問(wèn)題。本文通過(guò)案例分析原因,對(duì)比不同文件
    的頭像 發(fā)表于 03-17 11:35 ?475次閱讀
    如何正確選擇<b class='flag-5'>嵌入式</b>文件<b class='flag-5'>系統(tǒng)</b>?

    康謀應(yīng)用 | 基于多傳感器融合的海洋數(shù)據(jù)采集系統(tǒng)

    在海洋監(jiān)測(cè)與無(wú)人艇控制領(lǐng)域,數(shù)據(jù)采集面臨數(shù)據(jù)噪聲誤差、融合協(xié)同等挑戰(zhàn)。本文康謀深度剖析基于多傳感器融合的海洋數(shù)據(jù)采集系統(tǒng)交付案例,詳細(xì)解析其
    的頭像 發(fā)表于 03-12 09:40 ?571次閱讀
    康謀應(yīng)用 | 基于多傳感器融合的海洋<b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>系統(tǒng)</b>

    嵌入式系統(tǒng)的代碼優(yōu)化與壓縮技術(shù)

    32位指令轉(zhuǎn)換為16位Thumb指令,實(shí)現(xiàn)代碼的初步壓縮。 數(shù)據(jù)壓縮:對(duì)嵌入式系統(tǒng)的常量數(shù)據(jù)、字符串等進(jìn)行壓縮。例如,采用哈夫曼編碼對(duì)經(jīng)
    發(fā)表于 02-26 15:00

    Simcenter SCADAS Recorder多功能數(shù)據(jù)采集系統(tǒng)

    SimcenterSCADASRecorder多功能數(shù)據(jù)采集系統(tǒng)多功能數(shù)據(jù)采集系統(tǒng)可帶來(lái)諸多優(yōu)勢(shì),可以自主作為盲記錄儀、平板電腦操作的記錄儀或是筆記本電腦或PC的前端
    的頭像 發(fā)表于 01-15 14:42 ?472次閱讀
    Simcenter SCADAS Recorder多功能<b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>系統(tǒng)</b>

    MPU在嵌入式系統(tǒng)的應(yīng)用

    一、MPU的基本功能 微處理器單元(MPU)是嵌入式系統(tǒng)的大腦,負(fù)責(zé)執(zhí)行程序指令、處理數(shù)據(jù)和控制其他硬件設(shè)備。MPU的基本功能包括: 指令執(zhí)行:MPU能夠從存儲(chǔ)器
    的頭像 發(fā)表于 01-08 09:26 ?859次閱讀

    ADSP-BF592 Blackfin嵌入式處理器數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《ADSP-BF592 Blackfin嵌入式處理器數(shù)據(jù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 01-03 15:35 ?0次下載
    ADSP-BF592 <b class='flag-5'>Blackfin</b><b class='flag-5'>嵌入式</b>處理器<b class='flag-5'>數(shù)據(jù)</b>手冊(cè)

    mmc卡在嵌入式系統(tǒng)的使用

    隨著科技的發(fā)展,嵌入式系統(tǒng)在我們的日常生活扮演著越來(lái)越重要的角色。從智能手機(jī)到家用電器,再到工業(yè)控制系統(tǒng),嵌入式
    的頭像 發(fā)表于 11-25 09:58 ?1086次閱讀

    adc在嵌入式系統(tǒng)的應(yīng)用 常見(jiàn)的adc接口類型比較

    嵌入式系統(tǒng)的應(yīng)用 傳感器接口 : ADC常用于與各種傳感器接口,如溫度傳感器、壓力傳感器、光敏傳感器等。這些傳感器通常輸出模擬信號(hào),需要ADC將其轉(zhuǎn)換為數(shù)字信號(hào),以便微控制器或處理器進(jìn)行處理。 工業(yè)自動(dòng)化和
    的頭像 發(fā)表于 11-19 16:03 ?2104次閱讀

    振弦土壓力計(jì)的數(shù)據(jù)采集方法

    的注意事項(xiàng)   定期校準(zhǔn)土壓力計(jì)   為了確保測(cè)量數(shù)據(jù)的準(zhǔn)確性,需要定期對(duì)振弦土壓力計(jì)進(jìn)行校準(zhǔn)。校準(zhǔn)可以采用標(biāo)準(zhǔn)壓力源進(jìn)行對(duì)比校準(zhǔn),也可以委托專業(yè)機(jī)構(gòu)進(jìn)行校準(zhǔn)。   避免干擾   在數(shù)據(jù)采集過(guò)程
    發(fā)表于 10-25 14:26

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被稱為嵌入式系統(tǒng)的核心組件,是一種用于控制和數(shù)據(jù)處理的計(jì)算機(jī)硬件,其設(shè)計(jì)旨在嵌入特定設(shè)備
    的頭像 發(fā)表于 09-30 10:05 ?1570次閱讀

    嵌入式系統(tǒng)的實(shí)時(shí)操作系統(tǒng)

    嵌入式RTOS是嵌入式應(yīng)用程序運(yùn)行、相互交互和與外界通信的底層軟件機(jī)制。在本節(jié),您將了解嵌入式軟件開(kāi)發(fā)人員使用哪些流行RTOS以及它們運(yùn)行的嵌入式
    的頭像 發(fā)表于 08-20 11:28 ?854次閱讀

    EMS/PCS/BMS/充電樁/逆變器新能源設(shè)備處理器選型-米爾嵌入式

    網(wǎng)之間的雙向能量傳遞的重要設(shè)備。在智能化和大數(shù)據(jù)的發(fā)展背景下,PCS被要求實(shí)現(xiàn)越來(lái)越豐富的網(wǎng)絡(luò)通訊、遠(yuǎn)程監(jiān)控以及在線升級(jí)等功能,于是催生了嵌入式模組在PCS通訊模塊的需求。 米爾儲(chǔ)能PCS通訊模塊方案
    發(fā)表于 07-26 18:37

    機(jī)器視覺(jué)在嵌入式的應(yīng)用

    機(jī)器視覺(jué)在嵌入式系統(tǒng)的應(yīng)用是一個(gè)廣泛而深入的話題,涉及到許多不同的領(lǐng)域和技術(shù)。 機(jī)器視覺(jué)在嵌入式系統(tǒng)
    的頭像 發(fā)表于 07-16 10:30 ?947次閱讀