《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業(yè)界動態(tài) > 基于IDE硬盤的大容量語音記錄儀

基于IDE硬盤的大容量語音記錄儀

2008-09-18
作者:李鴻強 苗長云

  摘? 要: 介紹一種基于IDE硬盤的大容量" title="大容量">大容量語音記錄" title="語音記錄">語音記錄儀的設計方法,重點闡述了大容量語音記錄儀的硬件和軟件設計。

  關鍵詞: 大容量語音記錄儀? 單片機? IDE? D6571E? PIO

?

  隨著我國經濟建設的迅猛發(fā)展,公安、鐵路、民航、金融等部門對語音記錄的需求不斷增長。用戶經常需要回放時間長達幾個月、甚至幾年的大容量語音記錄儀,而目前國內可見到的語音記錄儀大多只能連續(xù)記錄幾百小時(即一個月左右)。而大容量的語音記錄儀一般是基于PC機,設備體積較大,使用不便。近年來作為數(shù)據(jù)存儲介質的硬盤,以其容量大、接口智能化程度高、控制方便越來越受到人們的重視。充分發(fā)揮硬盤的優(yōu)勢,脫離系統(tǒng)主機,可以為用戶開發(fā)出超大存儲容量、性能可靠的語音記錄儀。

  本文提出了采用單片機控制硬盤對語音數(shù)據(jù)進行實時存儲的方案。其最大優(yōu)點是可記錄語音時間長達幾個月甚至幾年,并能達到較高的性能指標。

  基于IDE硬盤的大容量語音記錄儀的特點:

  (1)以單片機為核心,采用PIO模式進行硬盤的讀寫,可大大提高系統(tǒng)的性能價格比,使得語音記錄時間長達1500小時(6GB硬盤)。若換用更大容量硬盤,可實現(xiàn)更長語音記錄時間,達到連續(xù)工作幾個月甚至幾年的要求。

  (2)采用DSP芯片D6571E,其語音壓縮算法采用TRUESPEECH Triple Rate Coder,8kHz采樣頻率下語音壓縮速率為9.6、7.2或4.4kbps,MOS指標可達到3.98。

  (3)采用大規(guī)模可編程邏輯器件CPLD對系統(tǒng)數(shù)字邏輯電路進行集成,提高了系統(tǒng)的穩(wěn)定性和可靠性,具有較好的通用性,可滿足多種場合的需要,不需改動任何硬件。

  (4)預留遠程調度電話接口,可實現(xiàn)遠程監(jiān)聽、查詢等功能。

  (5)由于采用4層PCB線路板設計、表貼工藝和超薄筆記本硬盤,使得基于IDE硬盤的大容量語音記錄儀體積如普通電話機大小,可實現(xiàn)對一路電話進行高阻并聯(lián)錄音,并可在本機播放記錄語音和遠程調度記錄語音。

1 系統(tǒng)硬件設計

1.1 D6571E芯片

  在本系統(tǒng)中,選擇DSP芯片D6571E,其語音壓縮算法采用TRUESPEECH Triple Rate Coder。由于該算法的實時運算需要22MIPS以上的運算速度,為此將DSP內核和算法代碼集成在D6571E芯片內。D6571E的典型應用電路如圖1所示。

?

?

??? D6571E具有16位寬的總線,但也允許以分時方式使用8位總線,這時CPU須用HI/LO信號表示送到總線上的是高8位還是低8位;當D6571E主動將數(shù)據(jù)送到總線上時,會發(fā)出ACK信號通知CPU讀取數(shù)據(jù)。HSTRD和HSTWR則是讀和寫的控制線。由于TRUESPEECH Triple Rate Coder算法按30ms分幀采樣,然后進行分析壓縮,因此無論是讀取壓縮數(shù)據(jù)還是回送壓縮數(shù)據(jù),均必須在一幀內完成,否則D6571E會自行進入休眠狀態(tài)。向D6571E輸送語音數(shù)據(jù)的過程如下:首先送出解壓控制命令,然后接收一個回送狀態(tài)字,狀態(tài)字中包含了當前幀所需要的字節(jié)數(shù),CPU就連續(xù)送出規(guī)定數(shù)目的數(shù)據(jù),待一幀處理完畢后,D6571E會繼續(xù)送出狀態(tài)字,如此循環(huán)就可連續(xù)回放語音了。而利用D6571E進行語音壓縮的數(shù)據(jù)處理過程正好相反,狀態(tài)字中包含的是當前幀壓縮所得到的字節(jié)數(shù),CPU應連續(xù)接收規(guī)定數(shù)目的數(shù)據(jù)。

  D6571E芯片具備工業(yè)標準的編解碼器接口,可直接與串行PCM接口的音頻編解碼芯片相連,如美國國家半導體的TP3054(μ律)、TP3057(A律)等。本系統(tǒng)設計中音頻編解碼接口芯片采用了TP3057。TP3057工作所需的同步脈沖、采樣時鐘、數(shù)據(jù)信號等只需與D6571E的4根控制線相連即可得到。

  由于D6571E的控制命令很豐富,在大容量語音記錄儀的設計中,筆者利用D6571E實現(xiàn)數(shù)字音量控制、自動增益控制、變速回放、雙音頻信號產生和鑒別、來電顯示等功能,省去了不少功能芯片、線路板面積,使得最終設計成型的大容量語音記錄儀體積如普通電話機大小。

1.2 IDE硬盤的控制

  利用單片機控制現(xiàn)有的硬盤,可極大地提高系統(tǒng)的性能價格比,因此本系統(tǒng)采用單片機控制硬盤進行語音數(shù)據(jù)的存儲。

IDE接口的硬盤驅動器提供了兩種數(shù)據(jù)傳輸模式:PIO模式和DMA模式。由于PIO模式控制相對容易,提供了一種編程控制輸入/輸出的快速傳輸方法。該模式采用高速的數(shù)據(jù)塊I/O,以扇區(qū)為單位,用中斷請求方式與CPU進行批量數(shù)據(jù)交換。在扇區(qū)讀寫操作時,一次按16位長度通過內部的高速PIO數(shù)據(jù)寄存器傳輸。通常情況下,數(shù)據(jù)傳輸以扇區(qū)為單位,每傳輸一扇區(qū)數(shù)據(jù)產生一個中斷。由于本系統(tǒng)語音壓縮數(shù)據(jù)的最大速率只有9.6kbps,而相關資料報道采用PIO寫盤速度可以達到192kbps,完全可以滿足本系統(tǒng)的要求。

  本系統(tǒng)采用Hitachi(日立)公司DK23AA-60型號的筆記本硬盤。它具有6GB的存儲容量,厚度僅有9.5mm,它的引腳及定義如圖2所示。

?

?

  IDE接口是一種任務寄存器結構的接口,所有輸入輸出操作均通過對相應寄存器的讀寫完成。IDE硬盤驅動器中的寄存器及地址分配見表1。表2為狀態(tài)寄存器" title="狀態(tài)寄存器">狀態(tài)寄存器,它反映了硬盤驅動器執(zhí)行命令后的狀態(tài)。

?

?

  狀態(tài)寄存器中各位定義如下:

  BSY:驅動器忙;

  DRDY:驅動器準備好;

  DWF:驅動器寫失敗;

  DSC:尋道結束;

  DRQ:請求服務,驅動器希望通過數(shù)據(jù)寄存器與CPU交換一字節(jié)數(shù)據(jù);

  CORR:當可以糾正的讀錯誤發(fā)生時,該位置1,數(shù)據(jù)傳輸將繼續(xù)進行;

  IDX:收到索引信號;

  ERR:命令執(zhí)行出錯。

  在向硬盤驅動器發(fā)出命令前,必須先檢測硬盤驅動器是否忙碌(D7=1)。如果在規(guī)定時間內硬盤驅動器一直忙碌,則置超時錯;否則表示硬盤驅動器空閑,可接受命令。

  如果CPU要對硬盤寫數(shù)據(jù),首先CPU把必要的參數(shù)寫入對應的地址寄存器,等待DRDY有效;然后將操作碼寫入命令寄存器,同時驅動器設置狀態(tài)寄存器的DRQ位,表示準備好接收數(shù)據(jù),CPU通過數(shù)據(jù)寄存器將數(shù)據(jù)寫入扇區(qū)緩沖區(qū);當扇區(qū)緩沖區(qū)填滿后,驅動器清除DRQ位,并置位BSY,驅動器將扇區(qū)緩沖區(qū)中的數(shù)據(jù)寫入磁盤;當寫盤結束,清除BSY位,發(fā)中斷請求信號INTRQ;CPU接收到中斷信號后,讀驅動器狀態(tài)寄存器,同時將中斷信號INTRQ撤除。

  如果CPU要對硬盤進行讀數(shù)據(jù)操作,首先將參數(shù)寫入地址寄存器和特性寄存器(如果需要);然后把命令碼寫入命令寄存器,命令開始執(zhí)行。這時驅動器置狀態(tài)寄存器中的BSY為1,同時將硬盤上指定扇區(qū)內的數(shù)據(jù)送入扇區(qū)緩沖區(qū)。當扇區(qū)緩沖區(qū)準備好數(shù)據(jù)后,置位DRQ,清BSY,發(fā)中斷請求信號INTRQ。CPU檢測到中斷后,讀取狀態(tài)寄存器,測試ERR位,若等于1則轉入出錯處理;否則DRQ位為1,CPU從扇區(qū)緩沖區(qū)讀取數(shù)據(jù),數(shù)據(jù)讀完后,驅動器復位DRQ位,然后驅動器重新設置BSY位。

1.3 工作原理

  基于IDE硬盤的大容量語音記錄儀主要由單片機、D6571E、IDE接口筆記本硬盤、A律編解碼芯片TP3057、可編程邏輯器件MAX7128S、160×32 LCD模塊、鍵盤、時鐘芯片、振鈴檢測芯片TCM1520A、電話線接口和電源等部分組成,系統(tǒng)原理框圖如圖3所示。

?

?

  單片機選用WINBOND公司的W78E52。它是整個系統(tǒng)的控制核心,完成對IDE硬盤、LCD等的初始化,接收D6571E壓縮后的語音數(shù)據(jù)并存儲在硬盤上,通過D6571E回放硬盤上的語音數(shù)據(jù)。W78E52是一款完全與8051兼容的8位單片機,它增加了Watchdog Timer和內部電源管理等功能,并且是目前少數(shù)可運行在最高40MHz晶振的單片機之一。本系統(tǒng)中的單片機W78E52運行在40MHz晶振下,以提高運行速度。

  整個系統(tǒng)的數(shù)字邏輯部分采用一片ALTERA公司的大規(guī)模可編程邏輯器件MAX7128S,它完成單片機與IDE硬盤、D6571E、LCD顯示和鍵盤的接口邏輯控制。可編程邏輯器件MAX7128S的程序設計采用目前較為通用和流行的VHDL語言,用MAX+plusⅡ和FPGA Express軟件編譯仿真完成。

  一片D6571E完成對并聯(lián)話機狀態(tài)的監(jiān)測。當D6571E監(jiān)測到并聯(lián)線路上有語音信號時,判斷并聯(lián)話機有去話;當振鈴檢測芯片TCM1520A檢測到并聯(lián)線路上有振鈴時,判斷并聯(lián)話機有來話。當并聯(lián)話機存在來話和去話時,D6571E開始記錄語音,并將壓縮的語音數(shù)據(jù)實時傳送給單片機。單片機負責將語音數(shù)據(jù)存儲在硬盤上,并附加上相關的日期時間、來去話標志、主被叫電話號碼和通話時長等索引內容,以便查詢使用。當本機需要回放語音記錄或遠程調度時,單片機將硬盤上的語音壓縮數(shù)據(jù)通過另外一片D6571E解壓轉變成語音。

  160×32 LCD可顯示16×16點陣的漢字兩行,每行10個漢字。它主要用于顯示系統(tǒng)的日期時間、提示信息或狀態(tài)信息,方便用戶的使用。

  系統(tǒng)中鍵盤可實現(xiàn)本機對語音記錄的回放選擇以及對D6571E工作的預置值進行設定,如語音壓縮率的選擇、調節(jié)音量等。

  遠程調度電話線接口可實現(xiàn)遠程監(jiān)聽和查詢等功能。系統(tǒng)在檢測到遠程調度電話線上的振鈴信號后,將模擬摘機,同時向主叫播放語音提示。主叫可按照語音提示操作,即可監(jiān)聽到硬盤上的任意一段語音記錄,甚至可以監(jiān)聽到系統(tǒng)正在記錄的語音。

2 系統(tǒng)軟件設計

  系統(tǒng)軟件包含有主程序、中斷服務程序" title="中斷服務程序">中斷服務程序和任務子程序" title="子程序">子程序等。

主程序主要完成對IDE硬盤、D6571E、LCD等的初始化,并檢測任務表是否空,若不空則執(zhí)行相應任務。圖4所示為系統(tǒng)主程序流程圖。

?

  中斷服務程序主要包括T0中斷服務程序、INT0中斷服務程序、INT1中斷服務程序等。T0中斷服務程序主要負責定時喂看門狗、掃描鍵盤讀鍵值等,并寫相關任務到任務表中。INT0、INT1中斷服務程序分別響應系統(tǒng)中2片D6571E的中斷請求,將并聯(lián)話機通話的語音壓縮任務和記錄語音的播放任務寫到任務表中,待主程序調用執(zhí)行。

  任務子程序主要有LCD顯示子程序、D6571E對語音的壓縮子程序、D6571E對語音的解壓子程序、讀寫IDE硬盤子程序、振鈴處理子程序等。

?

參考文獻

1 李 華.MCS-51系列單片機實用接口技術.北京:北京航空航天大學出版社,1993

2 陳利學,孫 彪,趙玉連.微機總線與接口設計.成都:電子科技大學出版社,1998

3 DSP GROUP公司.The D6571E Data Book.2000

4 ALTERA公司.The MAX7128S Data Sheet.2000

5 HITACHI公司.The DK23AA-60 Data Sheet.2000
本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 欧美成人a人片| 免费观看成人毛片| 最好看的免费观看视频| 欧美人与z0xxx另类| 日韩在线中文字幕| 尤物在线视频观看| 国产精品色拉拉免费看| 国产资源免费观看| 国产大片免费观看中文字幕| 北条麻妃毛片在线视频| 亚洲国产精品久久网午夜| 久久精品欧美日韩精品| 一本一本久久aa综合精品| 2019天天做天天拍天天夜| 高h全肉动漫在线观看| 精品免费久久久久久成人影院| 欧美色欧美亚洲高清在线观看| 日韩免费观看一级毛片看看| 少妇饥渴XXHD麻豆XXHD骆驼 | 日本熟妇色熟妇在线视频播放| 少妇愉情理伦片丰满丰满| 国产精品自产拍2021在线观看| 国产一级一国产一级毛片| 亚洲精品国产专区91在线| 久久免费看黄a级毛片| 97精品伊人久久大香线蕉| 菠萝蜜视频在线观看免费视频| 泰国一级淫片免费看| 日本久久中文字幕| 国产高清免费视频| 四虎影视8848a四虎在线播放| 亚洲成在人线在线播放无码| 中文字幕天天躁日日躁狠狠躁免费| 91短视频网站| 美女的胸又黄又www网站免费| 欧美日韩在线视频免费完整| 手机看片国产福利| 国产福利在线观看你懂的| 午夜视频免费国产在线| 亚洲av无码一区二区三区电影| 一区二区和激情视频|