程控交換機生成的電話(huà)呼叫信息一般通過(guò)其標準的串行接口輸出,電話(huà)計費系統軟件可以用計算機直接從交換機接收呼叫信息。但呼叫信息的輸出是隨機的,取決于交換機支持的網(wǎng)上分機電話(huà)的使用狀態(tài)。為防止信息丟失,計算機系統必須保持全天二十四小時(shí)連續工作。程控交換機話(huà)單自動(dòng)存儲器的設計與應用,一定程度上提高了計費工作的靈活性,降低了系統的運行成本1?。但早期系統或是不具備多任務(wù)工作特性,使用不便;或是采用靜態(tài)RAM作緩存,導致數據存儲可靠性不高,系統功耗較大;而且系統功能設計較低且不規范,靈活性較差。 本文以AT89C52單片機為核心,采用Intel Strata系列閃速存儲器作緩存,設計開(kāi)發(fā)的新一代程控交換機呼叫信息緩沖系統,用于串行數據的接收、緩存和讀出,具有多任務(wù)工作特性,而且實(shí)時(shí)性好,讀出速度快,數據存儲可靠性高,使用靈活方便。 1 系統的基本性能要求 1 實(shí)時(shí)緩沖能力 在緩存空間允許和系統供電正常的條件下,保證呼叫信息的實(shí)時(shí)接收和緩存。設計采用軟串口接收數據,波特率為300×2nbps(其中n=0"6),并實(shí)現對交換機輸出波特率的自動(dòng)識別與跟蹤。 2 大容量緩存、配置靈活 支持緩存空間高達16MB,并可在1"16MB之間進(jìn)行剪裁配置。支持空閑緩存容量的動(dòng)態(tài)查詢(xún)和聲光報警功能,使緩存信息能被及時(shí)讀出。 3 支持一組規范的命令 定義并支持一組規范的命令,實(shí)現呼叫信息的讀出和提供用戶(hù)對系統的維護。設計相應的協(xié)議,以規范命令及其響應信息的功能和特征。 4 具備多任務(wù)特性 系統可以在接收和響應用戶(hù)命令的同時(shí),實(shí)現呼叫信息的實(shí)時(shí)接收和緩存。即系統在交換機與用戶(hù)機之間的工作,包括交換機呼叫信息的接收與緩存、用戶(hù)命令信息的接收與響應,宏觀(guān)上具有多任務(wù)特性。支持呼叫信息讀出口波特率在9.6"460kbps之間可選。支持直接或Modem連接,實(shí)現呼叫信息的本地或遠程讀出。 2 系統硬件設計 圖1所示為交換機呼叫信息緩存系統的硬件結構框圖。其主要構成包括: 1選用Atmel公司微控制器AT89C52為核心,時(shí)鐘頻率為18.432MHz;AT89C52硬件資源分配方案如表1。 2采用Intel公司新近推出的Strata系列閃速存儲器28F320J5和28F640J5構成緩沖存儲器陣列,硬件支持4MB、8MB、12MB或16MB緩存空間配置,采用無(wú)跳線(xiàn)設計。 3擴展UART接口芯片TL16C550,采用Maxim公司的MAX3225完成CMOS與RS232C電平轉換,用于與計算機或Modem接口。此設計方案的特點(diǎn)是:串口收發(fā)各有16字節的硬件FIFO,速度高達460kbps;接口抗靜電能力為15kV。 4利用AT89C52的口線(xiàn)構成軟件串行接口。采用電流環(huán)I/O驅動(dòng)電路和相應的電平轉換電路與交換機串口連接,支持通信距離可達1km。 5后備電池管理及DC-DC變換電路。串行輸出A/D變換器TLC0838C主要用于外部電源及電池電壓及容量的監測,而并行輸出口74HC374芯片則用于電池充放電控制及MAX3225、電流環(huán)電路的開(kāi)關(guān)控制。 6單片串行EEPROM X25045用于系統參數的配置與保存、低電源電壓監視、可編程硬件看門(mén)狗電路。 7閃速存儲器AT29C256用于微控制器片外執行系統軟件。用戶(hù)還可以利用AT89C52內部程序存儲器中的重載模塊和AT29C256,實(shí)施系統軟件的在線(xiàn)升級。 3 系統軟件設計 3.1 主流程 圖2為包括初始化和主循環(huán)的系統軟件主體流程。 其中,初始化程序完成系統主緩存容量及其讀寫(xiě)斷點(diǎn)的檢測,包括實(shí)現對28F320J5與28F640J5混合配置及無(wú)跳線(xiàn)硬件設計的支持;從串行EEPROM中讀取系統配置參數,設置各種報警門(mén)限值、初始化軟串口和TL16C550硬串口波特率等;單片機和TL16C550 接口硬件的初始化編程。主循環(huán)中,后備電池管理主要包括電池工作模式及其工作時(shí)間、電池可維持系統工作時(shí)間及電池容量信息的管理、電池充放電控制等;LED及蜂鳴器控制提供諸如空閑緩存容量低于門(mén)限、直接或Modem連接、電池供電、軟串口連接故障等狀態(tài)的指示或聲光報警,T1定時(shí)中斷服務(wù)為其提供基準定時(shí),而T0則用于產(chǎn)生約2.4kHz的"蜂鳴器"驅動(dòng)波形。& nbsp; 表2為系統支持的命令集(共37個(gè)命令)中最基本的一部分。其中"NAK"和"ACK+檢查和"用于呼叫信息讀出協(xié)議。系統收到"NAK"或錯誤"檢查和"時(shí),發(fā)送"NAK+話(huà)單"信息包(一條話(huà)單為一次電話(huà)呼叫產(chǎn)生的以CR或CR/LF結束的呼叫信息串);收到正確"檢查和″時(shí),發(fā)送"ACK+話(huà)單"信息包;無(wú)話(huà)單可讀出時(shí)發(fā)送響應信息"?DISCONNECT"。此外,協(xié)議規定一般命令以問(wèn)號開(kāi)頭,響應信息以感嘆號開(kāi)頭。 3.2 信息緩存 交換機呼叫信息的接收及緩沖存儲,是嵌入在各功能模塊中完成的,如圖3所示。 針對Strata 閃速存儲器的編程特點(diǎn),在A(yíng)T89C52內部RAM區開(kāi)辟二個(gè)大小為16字節的編程緩沖區。軟串口接收到的串行數據經(jīng)動(dòng)態(tài)壓縮之后依次循環(huán)填入緩沖區,一旦填滿(mǎn)一個(gè)緩沖區,即通知系統實(shí)施緩沖編程。各功能模塊在執行過(guò)程中及時(shí)主動(dòng)檢測相應的通知標志,確保呼叫信息的實(shí)時(shí)緩存。 3.3 軟串口的實(shí)現 以AT89C52的INT0引腳為RXD,結合INT0邊沿中斷和T2定時(shí)中斷服務(wù)程序的設計,以軟件方式控制串行呼叫信息的采樣接收。同時(shí)通過(guò)監測記錄串行幀起始位及LSB的特征,設計相應的技術(shù)準則,實(shí)現對交換機串口輸出波特率的自動(dòng)識別與跟蹤。 AT89C52為核心,選用性?xún)r(jià)比高的主存儲器和外圍接口芯片,配合強大靈活的軟件設計,開(kāi)發(fā)程控交換機呼叫信息緩沖系統,實(shí)現了低成本、大容量、高實(shí)時(shí)和多任務(wù)特性。此外,系統還具有以下重要特點(diǎn):(1)軟串口具有波特率自動(dòng)識別能力;(2)信息讀出速度可達460kbps;(3)后備電池管理,聲光報警;(4)系統軟件在線(xiàn)重載;(5)命令集設計規范,功能完備;?6已通過(guò)嚴格的功能和電磁兼容測試。本系統適合公司、學(xué)校、科研和政府等部門(mén)程控交換機話(huà)單業(yè)務(wù)的管理。 |