国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

基于AsixOS和MC68EZ328處理器實(shí)現(xiàn)手持信息終端的設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:電子產(chǎn)品世界 ? 作者:繆愛(ài)國(guó);劉昊;嚴(yán)菊 ? 2021-06-11 17:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者: 繆愛(ài)國(guó);劉昊;嚴(yán)菊明

引言

MIDI(樂(lè)器數(shù)字接口)是一種電子樂(lè)器之間以及電子樂(lè)器與電腦等設(shè)備之間的統(tǒng)一交流協(xié)議。該協(xié)議是一個(gè)二進(jìn)制形式的音樂(lè)描述語(yǔ)言,每一個(gè)描述樂(lè)器演播動(dòng)作的字都賦給一個(gè)特定的二進(jìn)制代碼,通過(guò)它指示樂(lè)器即MIDI設(shè)備做什么和怎樣做,如演奏音符、加大音量、生成音響效果等。

由于MIDI本身不是聲音信號(hào),而只是讓聲音設(shè)備產(chǎn)生聲音的一系列的指令,所以MIDI文件本身非常小,特別適用于對(duì)存儲(chǔ)容量有限制的手持設(shè)備,如手機(jī)和掌上電腦。本文將著重介紹如何在手持信息終端嵌入式系統(tǒng)平臺(tái)上實(shí)現(xiàn)MIDI的播放。

MIDI的基本原理

MIDI文件主要由MIDI消息組成。MIDI消息又可分成通道消息和系統(tǒng)消息兩大類(lèi),如圖1所示。

圖1 MID I消息的組成 從上面的描述中,

可以看到MIDI實(shí)際上只是一組數(shù)字信號(hào),并不包括聲音信號(hào),它記錄的是音樂(lè)在什么時(shí)間用什么音色發(fā)多長(zhǎng)的音等等。MIDI音樂(lè)每個(gè)樂(lè)音是由三個(gè)要素組成的:音色、音高(音調(diào))和音長(zhǎng)。可以把各種樂(lè)器的音色先錄下來(lái),然后給每個(gè)音色編號(hào),如鋼琴編為00;再給音高編號(hào),如C5編為49;然后是音符播放的時(shí)間的編碼,如把8分音符編號(hào)為60。此時(shí),數(shù)字串“00 49 60”就表示演奏的是鋼琴的C5音,演奏時(shí)間為8分音符。MIDI在播放時(shí),會(huì)根據(jù)MIDI文件紀(jì)錄的樂(lè)曲信息向預(yù)先錄制好的樂(lè)器(如鋼琴)的波表發(fā)出指令,從波表中找出對(duì)應(yīng)的聲音信息,經(jīng)過(guò)合成、加工后再回放出來(lái),就形成了美妙的音樂(lè)。

手持信息終端軟硬件平臺(tái)

手持信息終端包括手機(jī)、個(gè)人數(shù)字助理(PDA)、掌上電腦(HPC)等等,它們可以實(shí)現(xiàn)多種功能,如PIM(電話(huà)簿、日程安排、備忘錄、記事本、時(shí)鐘)、計(jì)算器、錄音、辭典、游戲和播放音樂(lè)等功能;也可以加入無(wú)線通信的功能,如電話(huà)、短信、無(wú)線Email等等;還可以通過(guò)數(shù)據(jù)線與PC相連,互通數(shù)據(jù)、進(jìn)行備份和數(shù)據(jù)交換。

該手持信息終端平臺(tái)采用的是業(yè)界流行的Motorola公司的MC68EZ328處理器;存儲(chǔ)模塊由4M字節(jié)的Flash閃存和2M字節(jié)的EDO DRAM組成;顯示模塊采用160×240的16級(jí)灰度的黑白屏,屏上合成有四線電阻式觸摸屏。音頻處理模塊的作用是用來(lái)播放音樂(lè),它由兩部分構(gòu)成:濾波電路和音頻功率放大電路。該模塊接受來(lái)自處理器內(nèi)部輸出的PWM脈沖信號(hào)和音頻模塊的開(kāi)啟關(guān)閉的控制信號(hào)。硬件平臺(tái)的結(jié)構(gòu)如圖2所示。

圖2 手持信息終端的硬件平臺(tái)結(jié)構(gòu)

該手持信息終端是以自主研發(fā)的多任務(wù)嵌入式操作系統(tǒng)AsixOS為基礎(chǔ),包括操作系統(tǒng)(Asix OS)、驅(qū)動(dòng)程序包(Driver)、應(yīng)用程序包(Application)、圖形用戶(hù)接口(AsixWIN)、圖形庫(kù)軟件包(AsixGPC)、嵌入式數(shù)據(jù)庫(kù)(AsixDB)、嵌入式文件系統(tǒng)(AsixFS)、網(wǎng)絡(luò)協(xié)議軟件包(Asixnet)等等。Asix模塊原理框圖如圖3所示。

圖3 Asix模塊原理框圖

由圖可以看出,音頻驅(qū)動(dòng)模塊是播放MIDI音樂(lè)的基礎(chǔ),它控制硬件設(shè)備的打開(kāi)關(guān)閉等等操作;音頻服務(wù)層是連接應(yīng)用程序和底層驅(qū)動(dòng)的樞紐,它包含了對(duì)底層操作的接口;應(yīng)用程序是整個(gè)手持終端產(chǎn)品的具體功能的體現(xiàn),MIDI播放器是其中一個(gè)用來(lái)測(cè)試MIDI播放的小應(yīng)用程序,它是建立在音頻服務(wù)模塊和音頻驅(qū)動(dòng)模塊基礎(chǔ)之上的。

MIDI播放的實(shí)現(xiàn)

MIDI的播放需要軟硬件協(xié)同工作,要播放MIDI文件,首先必須對(duì)MIDI文件進(jìn)行解碼:若是控制信息(如節(jié)拍、時(shí)間格式等等),則進(jìn)行相應(yīng)的控制;若遇到音符信息,則將相應(yīng)的數(shù)據(jù)(音符代碼、時(shí)間值)存儲(chǔ)在音頻緩沖區(qū)。

解碼完成后,聲音處理程序?qū)?duì)音頻緩沖區(qū)中的音頻數(shù)據(jù)進(jìn)行處理,根據(jù)音符代碼從各個(gè)軟波表中取出相應(yīng)音符的真實(shí)采樣值送往音頻設(shè)備,再由音頻設(shè)備的濾波電路進(jìn)行濾波排除電路中的高低頻干擾,然后再經(jīng)過(guò)音頻放大電路對(duì)音頻信號(hào)進(jìn)行放大,驅(qū)動(dòng)喇叭放出音樂(lè),音樂(lè)時(shí)間的長(zhǎng)短則根據(jù)音頻緩沖區(qū)中記錄音符長(zhǎng)短的數(shù)據(jù)來(lái)控制音頻設(shè)備的開(kāi)啟和關(guān)閉來(lái)實(shí)現(xiàn)。

由于手持信息終端存儲(chǔ)容量的限制,該手持信息終端的軟波表只包含了大鋼琴(Acoustic Grand Piano)的一種音色,具有3階音色(12×3個(gè)音符)。該軟波表采用16kb/s和8bit的采樣率進(jìn)行錄制,每個(gè)音符采樣0.5秒,即每個(gè)音符占有8000個(gè)字節(jié),所以整個(gè)軟波表的大小為12×3×8000=288K字節(jié),這樣的大小對(duì)于手持信息終端來(lái)說(shuō)應(yīng)該是可以承受的。

聲音處理程序是利用MC 68EZ328的定時(shí)功能和PWM輸出功能來(lái)實(shí)現(xiàn)的。PWM具有三種工作模式:回放(playback)模式、單音調(diào)(tone)模式、D/A模式。由于tone模式發(fā)出的聲音的頻率比較單一,不能達(dá)到真實(shí)樂(lè)器的效果,所以采用了回放模式。回放模式是利用軟波表來(lái)實(shí)現(xiàn)的,它根據(jù)真實(shí)樂(lè)器的采樣值進(jìn)行回放,從而能達(dá)到比較真實(shí)的效果。

MIDI播放的實(shí)現(xiàn)在硬件上是由兩部分組成的:M68EZ328內(nèi)部的PWM模塊和外部濾波放大電路。具體原理如下:

PWM(脈沖寬度調(diào)制)是一種對(duì)模擬信號(hào)電平進(jìn)行數(shù)字編碼的方法。通過(guò)對(duì)方波的占空比調(diào)制來(lái)對(duì)一個(gè)模擬信號(hào)的電平進(jìn)行編碼。

音頻處理的外圍電路比較簡(jiǎn)單,它主要用來(lái)處理由PWM輸出的MIDI音樂(lè),由濾波電路和音頻功率放大電路組成。MC68EZ328內(nèi)部具有PWM輸出電路,經(jīng)過(guò)一個(gè)由兩級(jí)運(yùn)算放大器構(gòu)成的濾波電路,濾除噪聲后取出音樂(lè)信號(hào);濾波后的信號(hào),在經(jīng)過(guò)功率放大電路放大后,推動(dòng)揚(yáng)聲器發(fā)出音樂(lè)聲。為了減小功耗,音頻功率放大電路和濾波電路都有使能控制信號(hào)控制,當(dāng)需要播放音樂(lè)時(shí)將電路使能,平常關(guān)閉該模塊。

軟件的實(shí)現(xiàn)

通過(guò)對(duì)軟件平臺(tái)的介紹,可以知道Asix OS是一個(gè)嵌入式的多任務(wù)實(shí)時(shí)操作系統(tǒng),所有應(yīng)用程序都是通過(guò)任務(wù)調(diào)度機(jī)制來(lái)實(shí)現(xiàn)的。因此要實(shí)現(xiàn)MIDI的播放需要軟件在以下三個(gè)層次給予支持:音頻驅(qū)動(dòng)模塊、音頻服務(wù)模塊、應(yīng)用程序(MIDI播放器)。當(dāng)點(diǎn)擊應(yīng)用程序(如MIDI播放器)后,操作系統(tǒng)就會(huì)進(jìn)行任務(wù)調(diào)度,然后啟動(dòng)相應(yīng)的服務(wù)模塊(音頻服務(wù)模塊),通過(guò)服務(wù)模塊再調(diào)用底層驅(qū)動(dòng)來(lái)播放MIDI音樂(lè)。下面將具體闡述一下各模塊的功能和實(shí)現(xiàn):

該模塊是MIDI能夠播放聲音的基礎(chǔ),它直接和底層硬件相關(guān),通過(guò)CPU中PWM模塊的一些寄存器來(lái)實(shí)現(xiàn)聲音設(shè)備的打開(kāi)關(guān)閉等操作。它通過(guò)聲音服務(wù)模塊被所有的需要發(fā)音的程序所調(diào)用,是所有發(fā)音程序得以正常工作的基礎(chǔ)。

它由以下幾個(gè)子模塊組成:PWM音頻設(shè)備初始化模塊;PWM音頻設(shè)備回放率配置模塊;PWM音頻設(shè)備啟動(dòng)模塊和關(guān)閉模塊;PWM音頻設(shè)備工作模式選擇模塊。

該模塊屏蔽了底層的驅(qū)動(dòng),為應(yīng)用程序訪問(wèn)音頻設(shè)備提供了統(tǒng)一的接口,使用戶(hù)無(wú)需關(guān)心底層的具體實(shí)現(xiàn)即可以完成聲音設(shè)備的控制,使之具有較好的移植性。它主要通過(guò)消息機(jī)制來(lái)實(shí)現(xiàn),為應(yīng)用程序和底層驅(qū)動(dòng)模塊的通信提供了一個(gè)橋梁,從而避免了直接和硬件打交道。服務(wù)層主要由定時(shí)播放模塊、定長(zhǎng)播放模塊和配置模塊組成。

音頻服務(wù)模塊是播放MIDI的關(guān)鍵,它處于承上啟下的作用,用于連接上層的應(yīng)用程序和底層的設(shè)備驅(qū)動(dòng)。該模塊中MIDI解碼子模塊完成對(duì)MIDI文件的解釋?zhuān)⒌玫阶罱K要播放的音符信息和各種控制信息鏈表,由于MIDI的解碼涉及到MIDI文件的規(guī)范協(xié)議和具體的算法,這里不作詳細(xì)的描述。

音頻服務(wù)模塊提供兩個(gè)層次的接口,面向應(yīng)用程序的接口和面向底層的接口。

服務(wù)模塊的接口工作原理如圖4所示。

圖4 服務(wù)模塊接口

MIDI播放模塊包括MIDI播放器(用來(lái)測(cè)試MIDI播放的應(yīng)用程序之一),此外還可以在手機(jī)鈴聲、信息提示音、筆觸音等等程序中實(shí)現(xiàn)MIDI的播放,但其實(shí)現(xiàn)原理基本上都是一樣的。除了界面上的設(shè)計(jì),主要就是調(diào)用MIDI服務(wù)模塊提供的幾個(gè)接口函數(shù)即可實(shí)現(xiàn)MIDI的播放,這里不作詳細(xì)介紹。

結(jié)語(yǔ)

本文的手持信息終端平臺(tái)經(jīng)過(guò)實(shí)際測(cè)試,播放效果令人滿(mǎn)意,能夠和一般的手機(jī)鈴聲相媲美。由于MIDI文件的體積較小,正好可以彌補(bǔ)手持信息終端存儲(chǔ)容量小的缺陷,因此它具有廣闊的應(yīng)用前景。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)注

    68

    文章

    20255

    瀏覽量

    252308
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    9521

    瀏覽量

    157040
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7402

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    Cortex-A9處理器的精妙應(yīng)用

    與耗能較低的特點(diǎn),比較多應(yīng)用在智能手機(jī),也配置在各大智能終端上。  1.智能手機(jī)  市面上除了部分如htc和小米這種用高通的cpu的手機(jī)商,其他雙核手機(jī)基本采用ARM Cortex-A9處理器。比較著名的有MOTO里程碑3代、Atrix4G,LG擎天柱2X,三星9100,
    發(fā)表于 11-03 17:02

    適用于Motorola 68020/68EC020和68030/68EC030處理器的HP 64700系列仿真

    適用于Motorola 68020/68EC020和68030/68EC030處理器的HP 64700系列仿真
    發(fā)表于 02-27 16:59

    32位處理器的開(kāi)發(fā)與8位處理器的開(kāi)發(fā)有哪些明顯的不同?

    32位處理器的開(kāi)發(fā)與8位處理器的開(kāi)發(fā)有哪些明顯的不同?開(kāi)發(fā)一個(gè)32位的嵌入式系統(tǒng)需要哪些工具和環(huán)境呢?32位嵌入式系統(tǒng)的開(kāi)發(fā)過(guò)程中存在哪些技術(shù)難點(diǎn)?有什么方法去應(yīng)對(duì)呢?
    發(fā)表于 04-19 08:11

    如何利用PXA255處理器的Sitsang開(kāi)發(fā)平臺(tái)實(shí)現(xiàn)紅外模塊的設(shè)計(jì)?

    本文將詳細(xì)講解基于Inte1的PXA255處理器的Sitsang開(kāi)發(fā)平臺(tái)紅外模塊的設(shè)計(jì),其中包括Linux下的IrDA驅(qū)動(dòng)程序的開(kāi)發(fā)和基于MC68HC908AP64紅外發(fā)射的軟硬件設(shè)計(jì)兩個(gè)部分。
    發(fā)表于 04-27 06:03

    RK3399處理器與AR9201處理器有哪些不同之處呢

    RK3399處理器與AR9201處理器有哪些不同之處呢?hi3559A處理器與RV1126處理器有哪些不同之處呢?
    發(fā)表于 02-21 07:29

    Sitara AM62處理器的資料分享

    和預(yù)測(cè)性維護(hù)),有助于賦予HMI全新的意義,而不是僅限于實(shí)現(xiàn)人機(jī)交互的界面。AM62處理器能夠以低功耗實(shí)現(xiàn)邊緣器件的分析功能(掛起狀態(tài)功耗低至7mW且無(wú)需特殊考慮散熱設(shè)計(jì)),支持工程師靈活地在尺寸受限
    發(fā)表于 11-03 06:11

    基于ARM的PC/104處理器模塊設(shè)計(jì)

    提出了一種低成本的PC/104處理器模塊的設(shè)計(jì)。該模塊硬件上以ARM處理器為核心實(shí)現(xiàn)了PC/104處理模塊的基本結(jié)構(gòu)、總線接口,軟件上構(gòu)建了嵌入式Linux操作系統(tǒng)。以ARM
    發(fā)表于 08-25 10:36 ?20次下載

    Intel 64位處理器,Intel 64位處理器結(jié)構(gòu)原理

    Intel 64位處理器,Intel 64位處理器結(jié)構(gòu)原理 現(xiàn)在人們廣泛使用的是由32位微處理器構(gòu)成的計(jì)算系統(tǒng),但是32位的計(jì)算和操作系統(tǒng)不能支持
    發(fā)表于 03-26 15:07 ?3597次閱讀

    蘋(píng)果a6處理器怎么樣_a6處理器參數(shù)

    蘋(píng)果正式發(fā)布iphone5,iphone5采用A6處理器,那么A6處理器怎么樣?a6處理器參數(shù)是什么呢?a6處理器四核的嗎?帶著這些疑問(wèn),我們來(lái)一起了解下A6
    發(fā)表于 09-13 14:29 ?2.7w次閱讀

    基于ARM11處理器的嵌入式視頻處理終端設(shè)計(jì)與實(shí)現(xiàn)

    首先對(duì)嵌入式系統(tǒng)和視頻處理進(jìn)行了簡(jiǎn)單的介紹,指出了采用$3C6410處理器設(shè)計(jì)的視頻處理終端具有的優(yōu)勢(shì)。其次,對(duì)$3C6410多格式視頻編解碼的使用進(jìn)行了仔細(xì)分析,為多格式視頻編解碼
    發(fā)表于 12-17 14:56 ?21次下載
    基于ARM11<b class='flag-5'>處理器</b>的嵌入式視頻<b class='flag-5'>處理</b><b class='flag-5'>終端</b>設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>

    麒麟9000處理器和高通驍龍875處理器相比如何?

    隨著華為mate10系列的發(fā)布,華為最后一代旗艦處理器,麒麟9000也就此亮相,大家對(duì)于麒麟9000處理器十分的看好。因?yàn)轺梓?000處理器在安兔兔的跑分竟然高達(dá)72萬(wàn)分,較上一代麒麟990
    的頭像 發(fā)表于 11-03 11:31 ?6910次閱讀

    vivo將首發(fā)搭載Exynos 1080處理器終端產(chǎn)品

    芯片將由vivo首發(fā)。現(xiàn)在有最新消息,近日三星官方正式予以證實(shí),vivo將首發(fā)搭載Exynos 1080處理器終端產(chǎn)品。
    的頭像 發(fā)表于 11-29 10:42 ?3047次閱讀

    基于Linux和XScale PXA270處理器實(shí)現(xiàn)信息交互系統(tǒng)的設(shè)計(jì)

    本系統(tǒng)采用Client-Server結(jié)構(gòu),包含兩大功能模塊:嵌入式信息終端模塊和PC服務(wù)模塊。信息終端以基于XScale PXA270
    的頭像 發(fā)表于 06-22 16:00 ?2758次閱讀
    基于Linux和XScale PXA270<b class='flag-5'>處理器</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>信息</b>交互系統(tǒng)的設(shè)計(jì)

    rk3566處理器屬于什么檔次?

    rk3566處理器屬于什么檔次? RK3566處理器是一款由瑞芯微公司推出的高性能處理器,在硬件配置和性能上都表現(xiàn)出了很強(qiáng)大的實(shí)力。目前市場(chǎng)上已經(jīng)有了很多的RK3566處理器,相信大多
    的頭像 發(fā)表于 08-15 17:25 ?3.8w次閱讀

    SK-AM68處理器入門(mén)套件用戶(hù)指南

    電子發(fā)燒友網(wǎng)站提供《SK-AM68處理器入門(mén)套件用戶(hù)指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-13 15:02 ?1次下載
    SK-AM<b class='flag-5'>68</b><b class='flag-5'>處理器</b>入門(mén)套件用戶(hù)指南