Reprogramming CPLD untuk Bug-Fixing TDM800CP

Dari hasil test board PCI TDM800CP, card PCI TDM(Time Division Multiplex) untuk kanal analog 8 port, secara keseluruhan sudah OK. Card bisa mensupplai sampai 8 kanal analog, baik dengan menggunakan modul FXO dan FXS single maupun quad FXO/FXS, semua terdeteksi, berfungsi dengan baik dan melewatkan suara yang jernih. Card ini setara dengan TDM800P yang dimiliki oleh Digium, hehehe namun desain dan racikan lokal, home-made lagi..🙂

Bug minor yang ditemui saat testing, meliputi subsystemID yang tidak sesuai saat rebooting system, yang harusnya 0xe3ff menjadi 0x0301 atau 0x030b. SubsystemID ini share dengan jalur AUX[6,1,7], nWRITE, nREAD, nRESET, HA[3:2], DATA[7:0] dan hanya dibaca sekali saat reset. Jalur tersebut juga terhubung ke CPLD dari chip kontroller PCI . Untuk shutdown dan diboot ulang tidak ada masalah. Jadi, problem hanya ada saat reboot saja, yaitu card harus mendeteksi subsystemID namun ID telah berubah saat operasional system sebelumnya (karena ada operasi di jalur share tersebut).

Solusinya, reprogramming CPLD dengan mengeset jalur bidir DATA[7:0] ke ‘1’ saat reset. Untuk AUX[6,1,7] hanya device drivernya di Linux yang perlu diset agar pin tersebut sebagai input. Dan sekarang board telah OK, rebooting atau hard-reset tidak mempengaruhi subsystemID.

Test terhadap kondisi ini perlu, misalnya jika suatu saat sistem crash (karena suatu sebab), CPU tidak akan merespon apapun. Saat itu mungkin device watchdog akan bekerja, saat dia tidak menerima heart-beat dalam interval tertentu, ia akan mereset CPU. Reset ini tidak akan menjalankan script yang ada di rc6.d untuk kill atau remove module. Agar sistem yang dibangun dengan card ini (misalnya VoIP telephony dengan gateway) tetap beroperasi setelah reset ini, pertama kali subsystemID harus konsisten, sehingga akan modulnya akan diload oleh Kernel. Ini lah yang disasar.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: