2007年9月3日 星期一

何謂SDHC(Secure Digital High-Capacity)

轉貼至聯強E城市

SDHC記憶卡全名是Secure Digital High Capacity,是SD協會在2006年3月發表SD 2.0規格的SD卡高容量版本。SDHC與SD的主要差異在於舊版本使用FAT16檔案系統,意思是管理檔案所在位置的表格(File Allocation Table)用16位元表示,所以最多只能管理65536個sector,再考慮每個sector能儲存32KB的資料量,所以65536 × 32KB = 2GB,SD卡容量上限只能到達2GB。為解決FAT16格式可支援容量有限的問題,SDHC改用了FAT32格式,依規格定義容量最大可達到32GB。

然而改用FAT32格式會對舊型讀卡機、手機或數位相機等產生無法辨識的問題,只有在較新的裝置上才可能支援。為此,新記憶卡特別強調其名稱為SDHC,而非沿用SD,以讓使用者在外觀上明顯看到其有所不同,避免搭配到不相容的裝置。




在過去,SD卡的資料傳輸速率,各家公司的表示方法各不相同,無法清楚瞭解使用的記憶卡是否已經達到裝備需求的速率。SD協會對於資料傳輸速率制定了SD Speed Class(SD傳輸速率級別)。其代表意義為:



SD協會並且要求記憶卡製造商必須在SDHC外觀清楚標示SD Speed Class等級。在拍攝動畫或連續拍攝等高速傳輸的前提下,往後市場上銷售的消費性電子產品,都會標示有推薦的SD Speed Class,以供消費者方便購買使用。




2007年7月15日 星期日

WinCE Interrupt (中斷)

關於中斷的相關名詞解釋: (參照書本及網路資源)
1.何謂IRQ:
IRQ即所謂的中斷請求(Interrupt Request) ,是指硬體裝置發給CPU的訊號,要求CPU暫時先放下目前正在處理的工作,將工作的優先權暫時先讓給此發送訊號的硬體裝置,如Touch panel, keyboard, audio的I/O處理... 等等相關硬體裝置,都是透過IRQ來對CPU發出中斷請求。

2.何謂ISR:
ISR即所謂的中斷服務常式(Interrupt Service Routine),指用來回應硬體裝置發出IRQ的軟體常式,屬於OAL層,主要的工作為判斷硬體發生中斷的原因,並回傳一特定的Interrupt ID(SYSINTR)給Kernel,Kernel則會喚醒IST對中斷做進ㄧ步的處理。

3.何謂Interrupt ID:
Interrupt ID即所謂邏輯中斷識別碼(Interrupt Identifier),每個都是獨一無二的值,代表著某個硬體裝置發出的邏輯中斷要求。藉由Interrupt ID,kernel可以表示是否該處理可以完成,或是需要IST (Interrupt Service Threads)進ㄧ步處理該中斷請求。

4.何謂IST:

•Created by a device driver
•IST is a thread that does most of the interrupt processing
•IST performs necessary I/O operations in the device to collect the data and process it
•IST must associate an event object with an interrupt identifier by InterruptInitialize
•IST can boost themselves to a higher priority by calling CeSetThreadPriority


interrupt step flow:




2007年6月24日 星期日

Handfree下的語音導航

目前在研究Handfree下語音導航的可行性,原因是因為當在開車時,別人打電話進來後,除了與別人通話的聲音,也希望可以聽到語音導航的聲音,才不會因為在與人通話時,迷失了導航的方向,現在經由實際測試後是可行的!

但是可能會因此出現一些小bug,目前還在進行測試中....


在通話時同時又要與語音導航的困難點在於:

1.要同時打通兩條audio path

2.要同時從同ㄧ個地方輸出而且彼此訊號不能互相干擾

這兩條path分別如下:

1.Linein->Mic Volume->Headphone Mixer->OUT2
Linein輸入為Differential訊號,輸出也是Differential訊號

2.CPU->AC97->DAC->Speaker Mixer->Record Select->Headphone Mixer->OUT2
CPU輸出的聲音訊號無法得知,但輸出必須為Differential訊號

由於兩條path會經過同ㄧ個Mixer,然而訊號型態卻不ㄧ致,所以有可能會導致輸出訊號失真的情況。

Mixer即所謂的混音器,它可以將多個音源輸入訊號混合在一起,再作輸出,如下圖所示




待續中....

2007年6月23日 星期六

音訊處理與辨識

Audio Signal Processing and Recognition

以下轉貼的網址是有關音訊處理的網路教材
http://neural.cs.nthu.edu.tw/jang/books/audioSignalProcessing/

關於聲音是如何產生的、高低音如何區分、或要是如何做作語音辨識....等等相關知識理論
都有詳盡的敘述,有興趣的可以參考看看囉!!

2007年6月3日 星期日

總諧波失真: THD (Total Harmonic Distortion)

轉貼http://www.csie.nctu.edu.tw/~cckuo/public/tutorials/RMAA%20tutorial/main.html的文章


Total Harmonic Distortion,簡稱 THD。在講解之前,先來瞭解 Harmonic Distortion,也就是諧波失真。諧波失真用來表示檢測非線性失真(Nonlinear Distortion)的結果,非線性失真的定義是輸入訊號經過處理後,輸出時所產生的錯誤部分,這個錯誤部分與原本的輸入訊號無關,通常會在輸入訊號以外的頻率產生其他錯誤訊號。總諧波失真則是用來測試每一個從原始訊號產生出來的新頻率,也就是剛才定義的非線性失真,這些屬於非線性失真的頻率就稱為諧波(harmonics),而且這些諧波的產生位置是原始訊號頻率的整數倍位置,例如 1000Hz 的諧波就是 2kHz、3kHz、4kHz 等。測試 THD 時,是發出 1000Hz 的聲音來檢測,所以圖形中在 1000Hz 的位置會有峰波,我們要觀察的是 1000Hz 右邊產生出來的諧波多寡。這一個值越小越好。 在真空管的機器上,THD 通常相當的多,但是這卻讓聲音產生溫暖和諧的感覺,不過一般的電晶體裝置,例如解碼器、音效卡,其上的奇次諧波(以 1000Hz 來說,3k、5k、7k 就是它的奇次諧波)不會讓聲音變好聽,所以其 THD 值還是要越低越好,通常高品質的裝置都會低於 0.002%。



2007年5月8日 星期二

Audio Path 示意圖

轉貼至9712 spec:

2007年4月14日 星期六

設定Audio Path相關注意事項

在設定Audio Path時,需考慮到比較重要的地方如下:

1.音源輸入與輸出訊號的種類:

目前案子常見的音源輸入訊號為single-end或differential,所以針對不同的輸入訊號,設定Audio Path所需注意的地方也不同:

single-end:

如輸入訊號為single-end,則處理方式比較單純,可以依輸出訊號的不同來做相對應的處理,當輸出訊號同樣為single-end時,只要將輸入訊號的Audio Path設定為直接進直接出就好了,ㄧ般常用於耳機的輸出。


但是當輸出訊號為differential時,由於左右聲道輸入同樣為single-end的訊號,所以必須將其中ㄧ邊的訊號作反向的動作,如下圖所示,只要有通過Audio Path中的反向器(如紅色框框),即可做訊號反向的動作。以下圖為例,將左聲道訊號作反向,則左右聲道輸出的訊號為ㄧ正ㄧ反,輸出訊號即為differential。




differential:

如輸入訊號為differential,設定Audio Path時須特別注意,因為Audio Path都會經過Mixer,而Mixer可將多個音源訊號mix在一起,但differential訊號為ㄧ正ㄧ反,當differential訊號進入同ㄧ個Mixer時,會將ㄧ正ㄧ反的訊號mix在一起,導致兩訊號互相抵消,所以在經過Mixer後,differential訊號就會因此而消失不見,如9712 Audio Path中兩個單一Mixer,分別為Speaker Mixer與Phone Mixer,如下圖所示。




此兩Mixer都為單一Mixer,所以在設定Audio Path時必須特別注意,differential訊號是不能進入此兩個Mixer的,唯一可以進入的就是Headphone Mixer,因為此Mixer左右聲道有個別的Mixer,因此不會對differential訊號作抵消。

輸入訊號為differential,但輸出訊號卻為single-end時,則必須透過Inverter將ㄧ邊訊號反向回來,這樣兩邊訊號才會同相位,輸出才能轉換為single-end。

如欲輸出的訊號為differential,則將Audio Path設為直接進直接出即可,輸出即為differential。