色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

基于AsixOS和MC68EZ328處理器實現手持信息終端的設計

電子設計 ? 來源:電子產品世界 ? 作者:繆愛國;劉昊;嚴菊 ? 2021-06-11 17:08 ? 次閱讀

作者: 繆愛國;劉昊;嚴菊明

引言

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

由于MIDI本身不是聲音信號,而只是讓聲音設備產生聲音的一系列的指令,所以MIDI文件本身非常小,特別適用于對存儲容量有限制的手持設備,如手機和掌上電腦。本文將著重介紹如何在手持信息終端嵌入式系統平臺上實現MIDI的播放。

MIDI的基本原理

MIDI文件主要由MIDI消息組成。MIDI消息又可分成通道消息和系統消息兩大類,如圖1所示。

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

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

手持信息終端軟硬件平臺

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

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

圖2 手持信息終端的硬件平臺結構

該手持信息終端是以自主研發的多任務嵌入式操作系統AsixOS為基礎,包括操作系統(Asix OS)、驅動程序包(Driver)、應用程序包(Application)、圖形用戶接口(AsixWIN)、圖形庫軟件包(AsixGPC)、嵌入式數據庫(AsixDB)、嵌入式文件系統(AsixFS)、網絡協議軟件包(Asixnet)等等。Asix模塊原理框圖如圖3所示。

圖3 Asix模塊原理框圖

由圖可以看出,音頻驅動模塊是播放MIDI音樂的基礎,它控制硬件設備的打開關閉等等操作;音頻服務層是連接應用程序和底層驅動的樞紐,它包含了對底層操作的接口;應用程序是整個手持終端產品的具體功能的體現,MIDI播放器是其中一個用來測試MIDI播放的小應用程序,它是建立在音頻服務模塊和音頻驅動模塊基礎之上的。

MIDI播放的實現

MIDI的播放需要軟硬件協同工作,要播放MIDI文件,首先必須對MIDI文件進行解碼:若是控制信息(如節拍、時間格式等等),則進行相應的控制;若遇到音符信息,則將相應的數據(音符代碼、時間值)存儲在音頻緩沖區。

解碼完成后,聲音處理程序將對音頻緩沖區中的音頻數據進行處理,根據音符代碼從各個軟波表中取出相應音符的真實采樣值送往音頻設備,再由音頻設備的濾波電路進行濾波排除電路中的高低頻干擾,然后再經過音頻放大電路對音頻信號進行放大,驅動喇叭放出音樂,音樂時間的長短則根據音頻緩沖區中記錄音符長短的數據來控制音頻設備的開啟和關閉來實現。

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

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

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

PWM(脈沖寬度調制)是一種對模擬信號電平進行數字編碼的方法。通過對方波的占空比調制來對一個模擬信號的電平進行編碼。

音頻處理的外圍電路比較簡單,它主要用來處理由PWM輸出的MIDI音樂,由濾波電路和音頻功率放大電路組成。MC68EZ328內部具有PWM輸出電路,經過一個由兩級運算放大器構成的濾波電路,濾除噪聲后取出音樂信號;濾波后的信號,在經過功率放大電路放大后,推動揚聲器發出音樂聲。為了減小功耗,音頻功率放大電路和濾波電路都有使能控制信號控制,當需要播放音樂時將電路使能,平常關閉該模塊。

軟件的實現

通過對軟件平臺的介紹,可以知道Asix OS是一個嵌入式的多任務實時操作系統,所有應用程序都是通過任務調度機制來實現的。因此要實現MIDI的播放需要軟件在以下三個層次給予支持:音頻驅動模塊、音頻服務模塊、應用程序(MIDI播放器)。當點擊應用程序(如MIDI播放器)后,操作系統就會進行任務調度,然后啟動相應的服務模塊(音頻服務模塊),通過服務模塊再調用底層驅動來播放MIDI音樂。下面將具體闡述一下各模塊的功能和實現:

該模塊是MIDI能夠播放聲音的基礎,它直接和底層硬件相關,通過CPU中PWM模塊的一些寄存器來實現聲音設備的打開關閉等操作。它通過聲音服務模塊被所有的需要發音的程序所調用,是所有發音程序得以正常工作的基礎。

它由以下幾個子模塊組成:PWM音頻設備初始化模塊;PWM音頻設備回放率配置模塊;PWM音頻設備啟動模塊和關閉模塊;PWM音頻設備工作模式選擇模塊。

該模塊屏蔽了底層的驅動,為應用程序訪問音頻設備提供了統一的接口,使用戶無需關心底層的具體實現即可以完成聲音設備的控制,使之具有較好的移植性。它主要通過消息機制來實現,為應用程序和底層驅動模塊的通信提供了一個橋梁,從而避免了直接和硬件打交道。服務層主要由定時播放模塊、定長播放模塊和配置模塊組成。

音頻服務模塊是播放MIDI的關鍵,它處于承上啟下的作用,用于連接上層的應用程序和底層的設備驅動。該模塊中MIDI解碼子模塊完成對MIDI文件的解釋,并得到最終要播放的音符信息和各種控制信息鏈表,由于MIDI的解碼涉及到MIDI文件的規范協議和具體的算法,這里不作詳細的描述。

音頻服務模塊提供兩個層次的接口,面向應用程序的接口和面向底層的接口。

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

圖4 服務模塊接口

MIDI播放模塊包括MIDI播放器(用來測試MIDI播放的應用程序之一),此外還可以在手機鈴聲、信息提示音、筆觸音等等程序中實現MIDI的播放,但其實現原理基本上都是一樣的。除了界面上的設計,主要就是調用MIDI服務模塊提供的幾個接口函數即可實現MIDI的播放,這里不作詳細介紹。

結語

本文的手持信息終端平臺經過實際測試,播放效果令人滿意,能夠和一般的手機鈴聲相媲美。由于MIDI文件的體積較小,正好可以彌補手持信息終端存儲容量小的缺陷,因此它具有廣闊的應用前景。

責任編輯:gt

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

    關注

    68

    文章

    19259

    瀏覽量

    229655
  • 接口
    +關注

    關注

    33

    文章

    8577

    瀏覽量

    151023
  • 操作系統
    +關注

    關注

    37

    文章

    6803

    瀏覽量

    123285
收藏 人收藏

    評論

    相關推薦

    Cortex-A9處理器的精妙應用

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

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

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

    如何利用PXA255處理器的Sitsang開發平臺實現紅外模塊的設計?

    本文將詳細講解基于Inte1的PXA255處理器的Sitsang開發平臺紅外模塊的設計,其中包括Linux下的IrDA驅動程序的開發和基于MC68HC908AP64紅外發射的軟硬件設計兩個部分。
    發表于 04-27 06:03

    MSM8940處理器有哪些特點

    MSM8940處理器是什么?MSM8940處理器有哪些特點?
    發表于 11-09 07:09

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

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

    Sitara AM62處理器的資料分享

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

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

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

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

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

    蘋果a6處理器怎么樣_a6處理器參數

    蘋果正式發布iphone5,iphone5采用A6處理器,那么A6處理器怎么樣?a6處理器參數是什么呢?a6處理器四核的嗎?帶著這些疑問,我們來一起了解下A6
    發表于 09-13 14:29 ?2.6w次閱讀

    基于ARM11處理器的嵌入式視頻處理終端設計與實現

    首先對嵌入式系統和視頻處理進行了簡單的介紹,指出了采用$3C6410處理器設計的視頻處理終端具有的優勢。其次,對$3C6410多格式視頻編解碼的使用進行了仔細分析,為多格式視頻編解碼
    發表于 12-17 14:56 ?21次下載
    基于ARM11<b class='flag-5'>處理器</b>的嵌入式視頻<b class='flag-5'>處理</b><b class='flag-5'>終端</b>設計與<b class='flag-5'>實現</b>

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

    隨著華為mate10系列的發布,華為最后一代旗艦處理器,麒麟9000也就此亮相,大家對于麒麟9000處理器十分的看好。因為麒麟9000處理器在安兔兔的跑分竟然高達72萬分,較上一代麒麟990
    的頭像 發表于 11-03 11:31 ?5905次閱讀

    vivo將首發搭載Exynos 1080處理器終端產品

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

    基于Linux和XScale PXA270處理器實現信息交互系統的設計

    本系統采用Client-Server結構,包含兩大功能模塊:嵌入式信息終端模塊和PC服務模塊。信息終端以基于XScale PXA270
    的頭像 發表于 06-22 16:00 ?2165次閱讀
    基于Linux和XScale PXA270<b class='flag-5'>處理器</b><b class='flag-5'>實現</b><b class='flag-5'>信息</b>交互系統的設計

    rk3566處理器屬于什么檔次?

    rk3566處理器屬于什么檔次? RK3566處理器是一款由瑞芯微公司推出的高性能處理器,在硬件配置和性能上都表現出了很強大的實力。目前市場上已經有了很多的RK3566處理器,相信大多
    的頭像 發表于 08-15 17:25 ?3.3w次閱讀

    SK-AM68處理器入門套件用戶指南

    電子發燒友網站提供《SK-AM68處理器入門套件用戶指南.pdf》資料免費下載
    發表于 11-13 15:02 ?0次下載
    SK-AM<b class='flag-5'>68</b><b class='flag-5'>處理器</b>入門套件用戶指南
    主站蜘蛛池模板: 国产手机在线视频| 国产精品在线手机视频| 人妻夜夜爽99麻豆AV| XXX老姥群交| 我的奶头被客人吸的又肿又红| 插骚妇好爽好骚| 亚洲国产成人精品无码区99| 国产亚洲精品久久综合阿香蕉| 亚洲婷婷天堂综合国产剧情| 久久性生大片免费观看性| 99福利在线观看| 受被三个攻各种道具PLAY| 精品粉嫩BBWBBZBBW| BL全肉多攻NP高H| 亚洲精品tv久久久久久久久久| 精品视频网站| 大乳牛奶女在线观看| 一道本无吗d d在线播放| 欧美亚洲天堂网| 国产精品一国产精品免费| 在线欧美免费人成视频| 日韩娇小性hd| 久久国产主播福利在线| 高干紧射H后入| 在线免费看a| 亚洲 日韩 色 图网站| 麻豆高潮AV久久久久久久| 国产伦子沙发午休系列资源曝光 | 伊人无码高清| 乌克兰成人性色生活片| 免费毛片在线视频| 久久精品视频免费| 国产亚洲精品在线视频| 大中国免费视频大全在线观看| 97人人碰免费视频公开| 一级毛片西西人体44rt高清| 午夜精品国产自在现线拍| 日韩在线看片中文字幕不卡| 欧美另类极品videosbest| 玖玖在线精品| 久久久免费观成人影院|