29 Agustus 2009

MENGENAL DAN MEMAHAMI IC PROGRAM TV

Dalam hal bagaimana mengakses fungsi-fungsi setting dalam TV (channel, volume, brightness, color dan lain-lain). Dimulai dari menggunakan knop, menggunakan rangkaian digital yang super besaaar, menggunakan chip/ic program statis, hingga akhirnya menggunakan microcontroller yang dapat diprogram. Microcontroller/microprosesor mempunyai port-port yang dapat diprogram.
Software/firmware dibuat kemudian diisikan/diprogramkan ke microprosesor. Software yang diprogramkan menyebabkan microprosesor dapat berfungsi seperti yang diharapkan oleh programmer. Seandainya microprosesor adalah sebuah mobil, software adalah pengemudinya, jadi mau dijalankan kemana mobilnya sangat tergantung dari pengemudinya.
Contoh berikut ini merupakan IC program yang dipakai oleh TV merk Sony, PCA84C640P-016. Seri microposesor IC ini adalah PCA84C640 (dalam PCA84Cxxx buatan Philips Semiconductor). Secara teknis, pabrik Sony membuat firmware/softwarenya, kemudian software tersebut diisikan/diprogramkan ke dalam PCA84C640, lalu oleh perusahaan IC tersebut diberi type PCA84C640P-016.
Karena software dapat merubah fungsi-fungsi dari port/pin pada sebuah microprosesor, maka kegunaan dari microprosesor tersebut sangat tergantung dari program/software yang diprogramkan. Untuk lebih jelasnya, lihat gambar berikut :

Jika diamati, pin yang tidak berubah fungsinya adalah pin VDD, VSS, TEST, XTAL1, XTAL2, V SYNC, H SYNC dan OSD OSC. Sedangkan pin-pin lainnya berubah fungsi. Perubahan fungsi ini memang diharapkan oleh programmer sehingga microprosesor dapat berfungsi secara unik/spesifik.
Ciri utama adanya program/software dapat terlihat dari nomor seri Icnya. Misalnya TV Sharp Universe dan Sharp Wonder yang menggunakan TDA9381, kalau dilihat sepintas, memang IC yang dipakai sama, tetapi kalau diperhatikan (pada bawah nomor seri) terdapat seri unik yaitu IX3410 (Wonder) dan IX3386 (Universe). Seri atau type tersebut digunakan untuk menandai software/program yang ada pada IC tersebut. Contoh lain adalah IC program TV Cina, banyak yang menggunakan LC863328B, tetapi, dibawah type terdapat nomor software 54Z4, 52Y2 dll.
Dengan kata lain, kemasannya sama tetapi isi berbeda. Misalnya LC863328B-54Z4 diganti dengan LC863328B-52Y2 jelas tidak bisa, karena pin-pin IC program/microprosesor fungsinya bisa berubah tergantung software yang diprogramkan.

Pin-pin pada Microprocessor

Secara umum, microprosesor mempunyai pin-pin/port-port yang secara berfungsi sebagai :
  1. ADC (Analog To Digital) adalah pin/kaki/port yang berfungsi input, inputnya berupa tegangan variabel (berubah-ubah) yang kemudian diterjemahkan kedalam bilangan digital, bilangan tersebut diproses. Sering juga pin ini dinamakan PWM input.
  2. DAC (Analog to Digital) adalah pin/kaki/port yang berfungsi sebagai output, fungsinya adalah mengkonversi bilangan digital kedalam tegangan analog. Sering juga pin ini dinamakan PWM output.
  3. Logical Port adalah pin/kaki/port yang berfungsi sebagai input/output, port ini hanya mengenal 2 kondisi yaitu logika Hi (pada umumnya tegangannya VDD-0,5 volt) dan logika Lo (0 volt).
  4. Pin-pin fungsi khusus VDD, VSS, RESET, XTAL, TEST dan lain-lain (kalo diulas bisa kepanjangan).

Fasilitas-fasilitas Dasar Mircroprosesor

Seperti halnya komputer, microprosesor adalah versi micro-nya komputer. Dalam IC tersebut terdapat (dalam bentuk hardware internal) :
  1. CPU adalah prosesor utama dalam ic, beberapa jenisnya antara lain 51, 68, AVR dan lain-lain.
  2. ROM (Read Only Memory=memori hanya dibaca) adalah memori tempat software diprogramkan, jenis-jenis ROM terdiri dari 1. Masked ROM (diprogram ketika ic dibuat, tidak dapat dihapus); 2. Flash ROM (dapat diprogram ulang, dapat dihapus); 3. OTP (one time programming=hanya bisa diprogram satu kali, setelahnya gak bisa dihapus).
  3. RAM adalah memory yang digunakan untuk menyimpan data-data sementara selama microprosesor berfungsi.
  4. I/O input/output port, berfungsi sebagai interface untuk berinteraksi dengan peralatan/perangkat lain (pemakai atau ic lainnya).

Software atau Perangkat Lunak

Sebelum software dapat diprogramkan kedalam ic, software mengalami beberapa tahap, antara lain :
  1. Pembuatan software/scripting yaitu software disusun dengan bahasa yang dapat dipahami oleh manusia.
  2. Program disimulasikan, tujuan utama simulasi adalah untuk mengetahui proses seandainya program tersebut sudah diprogramkan ke dalam microprosesor.
  3. Kompilasi, yaitu proses menterjemahkan scrip/program kedalam bahasa mesin yang dipilih (misalnya 51, 68, AVR dan lain-lain), setelah program dikompilasi, program hanya diketahui oleh mesin.
  4. Program hasil kompilasi diprogramkan ke dalam microprosesor.

Bus dan Fungsi Spesifik Pin/port

Untuk bisa berkomunikasi dengan perangkat lain (memori, switch, dll), microprosesor menggunakan pin/port IO secara paralel. Penggunaan port secara paralel mempunyai kekurangan yaitu banyaknya kabel yang dibutuhkan. Untuk mensiasati hal tersebut, diciptakan Bus (jalur data).
Pada sistem TV, jalur data yang sering dipakai adalah SPI dan I2C. Sedangkan penjelasannya sebagai berikut:
  1. SPI: menggunakan 3+1 jalur data, yaitu: Clock/CLK berfungsi memberikan clock/denyut, MOSI/DI berfungsi sebagai jalur data input dari luar IC, MISO/DO berfungsi sebagai jalur data output IC, dan tambahan satunya yaitu SS/CS untuk memilih IC/slave dan menandai bahwa IC tersebut dalam proses/terpilih. Contoh IC yang menggunakan SPI adalah IC memory 93C46, 93C66.
  2. I2C: menggunakan 2 jalur data, yaitu SCL berfungsi sebagai pemberi clock pada bus dan SDA berfungsi sebagai jalur data input/output (dua arah). Contoh IC yang menggunakan protocol/bus I2C adalah IC memori seri 24Cxx (24C01, 24C02, dll), IC pendukung TV misalnya AN5891K (sound processor), PLL tuner dan lain-lain. Hampir sebagian besar TV saat ini menggunakan bus I2C karena keringkasannya.

Koneksi/komunikasi I2C

Contoh koneksi bus I2C pada TV (ambil contoh TV LG model CP14B85 sasis MC83A)

Pada gambar di atas, dapat dilihat bahwa IC chroma/vcd, tuner dan mpx terhubung jadi satu menggunakan SDA2 dan SCL2. Tiap-tiap device/IC/perangkat yang terhubung tersebut mempunyai alamat digital yang berbeda-beda dan memang harus berbeda. Alamat-alamat tersebut digunakan oleh master untuk me-load atau me-set data.

Sekilas Tentang Protokol I2C

Protokol adalah bahasa digital yang dipakai oleh komputer/microprosesor untuk berkomunikasi dengan perangkat lain. Secara singkatnya protokol I2C adalah sebagai berikut:
  1. Microprosesor/master mengirimkan sinyal/data/status START, kemudian diikuti oleh data yang berisi address/alamat dari device/perangkat yang dituju. Ketika pada bus ada status START, semua Slave (IC lain yang terhubung pada bus) dalam posisi mendengarkan/siap-siap.
  2. Ketika ada slave yang merasa sama addressnya (dipanggil oleh master), slave tersebut akan mengirimkan sinyal ACK (aknowledge=semaur dalam bahasa jawa).
  3. Setelah master menerima ACK, master akan mengirimkan data perintah/request kepada slave. Perintah yang dikirimkan terdiri dari perintah menulis atau perintah membaca.
  4. Slave yang diperintah/direquest akan mengirimkan data yang diminta/direquest oleh ic program. Misalnya diperintah untuk menulis, slave akan menulis data yang diterima kemudian mengirimkan ACK untuk memberitahu kepada masternya bahwa data sudah tersimpan.
  5. Transmisi diakhiri dengan adanya sinyal STOP yang diberikan/dibuat oleh master.
Lebih jauh tentang I2C baca I2C manual dari Philips (bisa didownload pada situs Philips. Sekarang NXP).

Fungsi Spesifik Pin/port

Dalam sebuah IC program TV terdiri dari beberapa pin yang secara umum nama dan deskripsinya sebagai berikut :
  • VDD, VSS: pin berfungsi untuk memberi supply tenaga pada ic program.
  • X1, X2: pin untuk koneksi kristal. Kristal berfungsi sebagai osilator untuk memberikan clock bagi ic program. Clock adalah denyut jantung suatu sistem microprosesor.
  • TEST: dipakai untuk proses test ic program, hanya dipakai oleh pabrik. Pada umumnya ketika beroperasi, pin ini langsung disambungkan ke ground/VSS.
  • RESET: dipakai untuk mereset program, jika ic program mendapat sinyal reset, maka program akan mengulang/menjalankan ulang software yang terpasang/terprogram dari awal. Pada umumnya aktif ketika pin RESET mendapat tegangan 0 volt (active Low).
  • D OSC: berfungsi sebagai osilator OSD. Bekerja secara free running berdasarkan sinyal sinkronisasi.
  • V SYNC, H SYNC: berfungsi sebagai input sinkronisasi untuk mensinkronkan pin D OSD. Pada sistem OSD, pin ini adalah sebagai kursor/panduan untuk menampilkan huruf/karakter OSD pada layar (untuk menempatkan posisi huruf pada layar). Jika pin ini terganggu (tidak ada sinyal), IC program akan bingung bagaimana cara menampilkan OSD ke layar (tidak ada OSD).
  • BLK: berfungsi sebagai input Blanking Video, yaitu celah/pulsa untuk menyisipkan OSD pada layar. Jika BLK terganggu, OSD akan gelap atau bahkan tidak tampil.
  • R, G, B: berfungsi sebagai output OSD yang akan ditampilkan pada layar.
  • P/KEY/IR: berfungsi sebagai Key Input atau keyboard untuk interface dengan pemakai.
  • SDA, SCL: bus I2C. Berfungsi sebagai bus untuk berkomunikasi dengan device lain secara dua arah.
  • 50/60: berfungsi sebagai input untuk mengetahui bahwa video yang ditampilkan Vertical Refresh Rate menggunakan 50/60 Hz.
  • TV/AV: Selector TV/AV. VHF L, VHF H, UHF: Band selector. Pada umumnya, jika dipilih UHF, maka pin UHF pada posisi Hi, VHF L dan VHF H pada posisi Low 0 volt.
  • DAC OUT (VT, VOL, BRIGHT, COLOR, HUE, dll): pin yang mengeluarkan tegangan analog untuk mengontrol peralatan lainnya.
  • AFT: pin yang berfungsi sebagai input untuk memberitahu IC program bahwa ada channel TV yang tertangkap. Pin ini berjenis ADC.

Urutan Boot Up dan Troubleshooting)

Ketika sebuah microcontroller/IC program mendapatkan tegangan kerja IC program tidak langsung ON atau beroperasi. IC program harus melalui tahap-tahap boot up. Tahap-tahap BootUp terdiri dari dua tahap yaitu tahap hardware dan tahap BootUp software. Lamanya waktu yang dibutuhkan untuk bootUp tergantung dari jenis IC/microcontroller dan urutan program yang dijalankan/diprogramkan.

Urutan Boot-up

BootUp pada microcontroller terdapat dua jenis yaitu boot up hardware dan boot up software. Tahap-tahap boot up hardware sebagai berikut :
  1. IC program memulai tahap bootup jika tegangan kerja yang diberikan sudah masuk dalam rentang tegangan kerja normalnya.
  2. Osilator kristal yang terdapat pada mulai berosilasi. Fungsi osilator kristal adalah untuk memberikan denyut/clock pada microcontroller.
  3. Setelah ada clock, IC program mengecek dan mengeset hardware/register-register internal dengan nilai-nilai standar. Kemudian IC program menunggu reset melalui pin RESET.
  4. Proses reset ini, dilakukan secara manual atau otomatis oleh perangkat luar. Pada umumnya, TV menggunakan IC Reset untuk mereset program. Contoh IC reset adalah KIA70 (pada tv LG/Goldstar).
  5. Setelah menerima sinyal reset, IC program mulai untuk menjalankan/mengeksekusi software yang terinstall/terprogram sebelumnya (memulai boot up software).
Sedangkan tahap-tahap boot up software sangat tergantung dari urutan-urutan atau statemen-statemen software yang diprogramkan. Karena variasi urutan boot up software sangat banyak dan berbeda-beda antar tiap programmer, maka penulis hanya mengulas secara umumnya saja.
Secara umum, urutan boot up software IC program TV yang semuanya berdasarkan program/berdasarkan keinginan programmer, urutannya sebagai berikut :
  1. IC program mengeset semua register/peralatan internal dengan nilai default/standar.
  2. Membaca data dari memory kemudian disetkan pada register/port-port.
  3. Melakukan proses power on terhadap unit/TV.
  4. Melakukan tahap-tahap monitoring operasi. Misalnya sistem proteksi, hang dan lain-lain.
  5. Terakhir, melakukan monitoring terhadap kejadian/respon-respon terhadap efek pemakaian (tombol/keyboard, remot dll).

Troubleshooting

Sebelum melakukan troubleshooting, beberapa hal yang perlu diketahui dan penting bagi beroperasinya IC program adalah :
  1. CLOCK, clock adalah pulsa/denyut yang berfungsi sebagai denyut jantung prosesor. Lebar/lama pulsa tergantung dari frekuensi kristal dan program yang telah diprogramkan.
  2. IC RESET, cara kerja IC reset adalah sebagai voltage detector, yaitu mendeteksi tegangan VDD ic program. Jika tegangan VDD sudah mencapai ambang reset, ic tersebut akan mengirimkan pulsa reset (tujuannya untuk mereset program).
  3. INTERUPSI, adalah layanan yang diberikan oleh prosesor untuk mendengarkan respon pemakai/peralatan lain. Ketika prosesor mendapatkan interupsi, prosesor akan menjalankan sub rutin/program tertentu tergantung dari jenis interupsinya. Misalnya pin/port IR, jika ada sinyal IR masuk dan sinyal tersebut diketahui oleh program, maka program akan menjalankan subrutin yang telah diprogramkan. Status/kejadian2 keyboard ketika ada tombol dipencet dan lain-lain.
  4. Jenis port input atau output. PWM/ADC input biasanya digunakan untuk pin AFT, PWM/DAC output digunakan untukvolume, contrast, color, hue, dan lain-lain. Pin logic IO digunakan untuk setting option, reset, tv/av, switching, video ident dan lain-lain.
Karena proses troubleshooting sangat tergantung dari jenis dan bentuk rangkaian, maka disini hanya diulas prosedur umumnya saja. Prosedur troubleshooting/pencarian kerusakan IC program adalah (hardware) :
  1. Cek semua kaki port apakah konslet terhadap VSS/ground atau tidak. Pengukurannya dengan ohm meter pada meter 1K. Harap diperhatikan jenis pin/portnya. Secara umum nilai hambatan normalnya sebagai berikut : PWM input/ADC sekitar 1 s/d 3K, PWM output sekitar 1 s/d 5K dan logic IO sekitar 5K. Jika ditemukan kurang dari nilai tersebut, kemungkinan pin yang dites konslet.
  2. Setelah tidak ditemukan konslet, cek komponen-komponen input antara lain switch dan IR receiver.
Troubleshooting dapat ditemukan setelah mengetahui ciri-ciri IC program yang normal. Ciri-ciri IC program yang normal adalah :
  1. Adanya clock, ditandai dengan adanya tegangan yang bergoyang pada pin SDA/SCL (jika menggunakan multitester jarum). Jika menggunakan ic memory 24Cxx pin SDA pada pin5 dan SCL pada pin6.
  2. Munculnya OSD dilayar, jika dilayar tidak muncul, cek jalur H SYNC, V SYNC, BLK dan OSD oscillator.
  3. IC program dapat beroperasi dengan normal. Tidak panas berlebihan.
  4. Pada umumnya jika pin reset dikonsletkan ke ground sesaat, TV akan standby dan melakukan proses reset lagi.
IC program ngambek, sering disebabkan karena :
  1. Tegangan tidak stabil atau ada ripple.
  2. Switch/IR dalam keadaan mencet trus, sehingga menyebabkan ic program dalam keadaan interupsi (melanjutkan eksekusi program jika interupsi telah dilepas).
  3. Bus error, cek pin SDA/SCL.
  4. Adanya gangguan pada port-port input/output. Port-port tersebut mengalami hold/tertahan.
  5. Software yang terinstal terkorupsi/rusak = IC program harus diganti.

Kembali ke daftar isi