si3210是silab的一款slic晶元(使用者線路介面),主要用於voip、pbx、ip pbx等裝置。說白了,它可以讓你的這些數字產品掛接模擬**。它整合dc—dc轉換,audio codec。支援dtmf(雙音多頻)、fsk來電顯示等功能。是乙個功能比較完整的slic晶元。
基於slic的基本驅動程式是很簡單的。因為在網上就能找到silab提供的參考**。只需要移植spi部分介面就可以做乙個很簡單的demo。本文重點記錄經驗性的東西。
1、si3210的dc-dc轉化部分電路可以採用兩種方案,一種是結合si3201晶元,這沒什麼可說的。少了很多外部元件,做起來比較方便,就是稍微貴一點點。另一種是採用分立元件。在這裡感覺在各種元件的選擇上最好全部按照參考設計來選擇,並且一定要使用最新的參考設計。記得網上給的老參考設計好象有一些問題,會影響通話質量。
2、在初始化si3210之前一定要做reset並延續至少25ms。否則間接暫存器沒法訪問。
3、dtmf的檢測,在通話的過程中有時會檢測到按鍵訊號,後來發現如果對著話筒放**的話這個現象更加明顯。應該是因為有時環境雜訊與dtmf訊號頻率一致被slic檢測到所致。如果在你的產品中偶而出現這樣的現象,不用大驚小怪,不過如果太頻繁就要找問題了,可能是dtmf兩次檢測之間的時間間隔設得有問題。
4、dtmf與2833,rfc2833是用於通話過程中載入dtmf訊號的標準,用於通話過程中的二次拔號。這裡存在乙個問題,本來在二次拔號時是不送話音的。但是si3210不能檢測到按鍵鬆開時的訊號,沒法確定停發audio data的時間,這就會產生一種錯誤,話機本身發出的dtmf與2833所發出sip dtmf event重疊。造成一次按鍵對方收到兩個。到現在我也只能通過1s停發來解決這個問題,但是如果有人按鍵延續時間超過1s也會出問題,那位仁兄有更好的解決方案,不妨告之一聲。
5、fsk來電顯示,fsk來電顯示一定要發檢驗碼。否則就等著在**上收「——e——」吧。
6、增加供電電流有時可以降低雜訊。
7、增加饋電電流有時可以降低雜訊。
8、如果設定兩路slic要注意隔離,否則發熱量會比較大,並有哭聲干擾。
9、如果發熱量過高要檢查dc-dc轉化的pwm占空比設定以及pwm頻率。另外檢查饋電電流是否過高,並降低vov電壓。
10、摘掛機容錯,有時候會檢測到假的摘掛機訊號,這對乙個成熟的產品來說是不可原諒的錯誤。所以在處理摘掛機訊號時一定要做容錯處理。最常用的方法是檢測到乙個摘掛機訊號時,等一會再檢查一次,或者從側面去讀取一些有電壓或電流檢測。
11、處理來電顯示時需要較長的時間,如果在處理來電顯示時摘機會聽到刺耳的聲音,所以處理來電顯示的過程中比較耗時的部分應該加入摘機檢測。
不記得還有什麼了,以後想起來再補充。
補充下:si3210在純ipphone裡面沒有用,一般是用在gateway或pbx後面接普通pstn**。
STM3210B評估板 簡述
晶元 stm32f103vbt6 通過跳線連線對應引腳 兩個 rs232 連線插座 db9 乙個 b 型 usb 插座 乙個 can 連線插座 db9 乙個 sd 卡座 主時鐘振盪器 8mhz 使用者可換 32khz 振盪器 1 個 4 16 段的 lcd 顯示模組 四個 led 發光管 一路電位器...
簡述mysql事件作用 MYSQL使用簡述
1 如果你打命令時,回車後發現忘記加分號,你無須重打一遍命令,只要打個分號回車就可以了。也就是說你可以把乙個完整的命令分成幾行來打,完後用分號作結束標誌就ok。2 你可以使用游標上下鍵調出以前的命令。但以前我用過的乙個mysql舊版本不支援。我現在用的是mysql 3.23.27 beta win。...
Jmeter 元件作用簡述
測試計畫 test plan jmeter指令碼的根節點,用來包含測試任務,乙個測試計畫中至少包含乙個執行緒組 執行緒組 thread user 定義了乙個虛擬使用者池,所有的使用者都執行同樣的測試指令碼 取樣器 sampler 取樣器是jmeter測試的基本單元,使用者可以用它向伺服器發乙個特定的...