Pada tulisan ini diuraikan ujicoba software sample dari BSP (Board Support Packages).
Percobaan di bawah ini menggunakan BSP terbaru: NUC100Series BSP_CMSIS V1.05.001.zip [1]
Project file yang digunakan didapat di direktori berikut: NUC100SeriesBSP_v1.05.001\NuvotonPlatform_Keil\Sample\NUC1xx-LB_002
Smpl_ADC_PWM
Test ADC dengan input dari potensiometer
Test PWM dengan output RGB LED
Hasil:
Posisi potensio menghasilkan tegangan analog yang diukur oleh mikrokontroler
Angka hasil pengukuran ditampilkan di LCD
RGB LED menyala dengan PWM, menghasilkan kecerahan sesuai dengan posisi potensiometer
Demo ADC PWM NUC140
Smpl_CDROM_HID
Memunculkan sebuah device USB CDROM di windows
Dapat melakukan pengiriman data ke flash di board melalui aplikasi “HID AP.exe” di direktori \NUC100SeriesBSP_v1.05.001\NuvotonPlatform_Keil\Sample\NUC1xx-LB_002\Smpl_CDROM_HID\Software GUI\Release
Smpl_Capture
Nampaknya percobaan Capture Timer
Tidak jelas juga apa yang dikerjakan, karena variabel “CaptureValue” selalu bernilai 0
Smpl_FATFS_SDCard
Akses ke FAT file system di SD Card
Termasuk fungsi melakukan formatting
Smpl_FMC
Akses ke Flash Memory Controller
Literatur detail ada di Training File: “07_NuMicro FMC.pdf”
Smpl_HID_FILE_IO
Belum dicoba
Smpl_HID_IO
Belum dicoba
Smpl_I2C_24LC64
Input dari keypad onboard (K1 ~ K9)
Akses ke on board EEPROM (24LC64)
Demo menulis ke EEPROM dengan fungsi Write_24LC64() dan membacanya dengan fungsi Read_24LC64()
Penjelasan ada di Training Material “06_NuMicro I2C.pdf”
Application Note: “AN1009EN How to access 24C64 via IIC V1.00.pdf”
Smpl_Interrupt
Demo interupsi dari switch SW_INT dan Deep Sleep (PWCON)
Output ke UART
Smpl_LIN_Master
Belum dicoba. Nampaknya sulit dicoba karena memerlukan 2 buah prosesor yang mempunyai LIN interface
Smpl_LIN_Slave
Belum dicoba. Nampaknya sulit dicoba karena memerlukan 2 buah prosesor yang mempunyai LIN interface
Smpl_NAU7802
Nampaknya tidak kompatibel dengan board NU-LB-NUC140 rev 2.1, karena tidak ada ADC NAU7802 . Kemungkinan ADC ini ada di revisi sebelumnya.
Software ini berisi contoh akses periferal berikut:
LED 7 segment
LCD (tanpa backlight)
LED 5 ~ LED 8
Timer auto reload
Hasil percobaan & catatan penting
Software ini menyalakan LCD graphic dan LED 7 segment
LED 7 segment menyala bergantian dengan delay software, bukan timer
Untuk menyalakan backlight LCD dapat dilakukan dengan mengubah GPD14 menjadi 0
LED5 ~ LED8 diaktifkan oleh interupsi timer
LED5 ~ LED8 tidak terdapat di skematik. Keterangan tentang LED ini hanya ada di file “Nu-LB-NUC140 User’s Guide v2.0.pdf” pada halaman 8. Menurut tabel di tersebut, LED5 ~ LED8 dikendalikan oleh pin GPIO GPC12 ~ GPC15. Hal ini sesuai dengan kode di software.
Berikut ini kode untuk menyalakan backlight LCD:
DrvGPIO_ClrBit(E_GPD,14);
Berikut ini kode untuk mematikan backlight LCD:
DrvGPIO_SetBit(E_GPD,14);
Berikut ini kode untuk menyalakan Buzzer:
DrvGPIO_ClrBit(E_GPB,11);
Berikut ini kode untuk mematikan Buzzer:
DrvGPIO_SetBit(E_GPB,11);
Demo sample starter kit Nuvoton NU-LB-NUC140
Smpl_Timer_WDT_RTC
Demonstrasi penggunaan Watch Dog Timer dan Real Time Clock
Teorinya bisa dibaca di “04_NuMicro WDT_Timer_RTC_UART.pdf”
Application note WDT: “AN1005EN How to use WDT V1.01.pdf”
Application note RTC: “AN1013SC How to use RTC.pdf” in Simplified Chinese 🙂
Aplikasi ini memunculkan sebuah USB Audio Device di desktop PC.
Belum jelas bagaimana cara mengaksesnya dari windows.
Tampilan device manager di windows
Smpl_UDC_SDCard
Aplikasi ini membuat sebuah USB Disk. Untuk itu memerlukan sebuah memory tipe SD yang dimasukkan ke slot SD di bagian bawah board
Cara kerja software ini dijelaskan di Application Note “AN1020EN_USB MassStorage V1.00.pdf”. Detail tentang USB dijelaskan di “NuMicro NUC100 Series Driver Reference Guide.pdf”
Hasil percobaan:
jika ada SD card maka akan muncul pesan di PC
file-file di SD Card dapat dibaca dari PC.
Software ini menyalakan LEDS1 yang nampaknya adalah LED indikator bahwa SD card mendapat catu daya. Rangkaian LEDS1 dapat dilihat di file “Nu-LB-NUC140 Board Schematic v2.0.pdf” bagian SD Interface.
Smpl_VCOM_IO
Program ini nampaknya membuat sebuah port serial virtual di PC melalui port USB.
Penjelasan mengenai VCOM ada di file “Training/12_NuMicro VCOM.pdf”
Board ini menggunakan power supply 5V, yang dapat diperoleh dari konektor USB ataupun melalui konektor power supply. Tegangan ini langsung menjadi VDD untuk chip NUC140, sehingga perlu diperhatikan tegangan input ini maksimal adalah 5.5V (menurut datasheet NUC140).
Pada board terdapat juga regulator supply 3.3V menggunakan chip LM1117 [1]. Tipe chip regulator ini tidak dinyatakan dalam skematik.
Tegangan dari Powerjack 3 pin dan konektor USB dilewatkan melalui dioda sehingga aman dari kesalahan polaritas pemasangan, namun tidak melindungi dari kerusakan jika tegangan masuk melebihi 5.5V.
Pada skematik power supply ada komponen JP3 yang tidak jelas keberadaannya
Periferal On Board
Pada board ini sudah terdapat berbagai periferal on-board
SPI Flash
Ada 2 buah SPI Flash tipe W25X16VSSIG buatan WinBond. Kode di skematik USPI3 dan U3
LCD menggunakan interface SPI. Software untuk mengaksesnya ada di contoh [7].
Backlight dikendalikan oleh GPD14
LED 7 Segment
LED 7 segmen dikendalikan secara multiplex. Software untuk mengaksesnya sudah ada di contoh.
Port Serial
Prosesor NUC140 memiliki 3 port serial, namun pada board ini hanya 1 port serial yang sudah disambung dengan konektor DB9. Konektor menggunakan DB9 male, sehingga untuk dihubungkan ke PC memerlukan kabel serial tipe female-female. Berbeda dengan board LPC-L2294 yang menggunakan konektor DB9 female, namun serupa dengan TS-7260 yang menggunakan konektor DB9 male.
Codec WAU8822 terhubung ke prosesor dengan protokol I2S [2]
Petunjuk penggunaan ada di file Training “AN1015EN How to use I2S with CODEC V1.00.pdf” [3]
Daftar Konektor
Berikut ini daftar konektor pada board
ICE_USB: konektor USB sebagai ICE (In Circuit Emulator)
CON5: konektor power 5V
J3: USB ke prosesor
CON3: sinyal SPL+ dan SPL- ke chip audio codec WAU8822
LIN-CAN
GND
VCC : tegangan VCC 3.3V
VCC5 : tegangan 5V dari port USB (terukur 4.68 V)
VCC33 : tegangan VCC 3.3V
PS1 : output ke PS2 keyboard. Terhubung langsung ke pin PS2 di mikroprosesor NUC140. Detail interkoneksi ada di “NUC130_140 Technical Reference Manual EN V2.00.pdf”
Board NuEdu-UNO di paketnya tidak dilengkapi dengan manual yang lengkap. Setelah lihat-lihat sana sini dan tanya-tanya sana-sini, berikut ini kesimpulan saya tentang instalasi Arduino dan pengujian board NuEdu.
Berikut ini tahap-tahap instalasi Arduino untuk NuEdu-UNO:
#4 Jalankan NuMicro_Patch_For_Arduino1.5.8.exe. Software ini akan meminta direktori instalasi Arduino, umumnya di C:\Program Files (x86)\Arduino. Software ini akan menambahkan board NuEdu ke daftar board Arduino.
#5 Download software ICP untuk NuMicro dari http://sourceforge.net/projects/numicroedu/files/Tools/. Pada saat tulisan ini dibuat, versi terbaru ICP adalah NuMicro_ICP_Programming_Tool_1.29.6425.zip.
#7 Jalankan installer ICP yaitu NuMicro ICP Programming Tool 1.29.6425.exe . Install driver-driver USB yang diperlukan.
#8 Sambungkan board NuEdu-UNO dengan kabel mini-USB. Windows akan melakukan proses deteksi USB.
#9 Jalankan software ICP tersebut. Cara mudahnya pada Windows 7 adalah mengetik ‘icp’ di Start Menu. Nama softwarenya adalah ‘NuMicro ICP Programming Tool’.
NuMicro ICP Programming Tool 1.29
#10 Pilih NUC100 Series sebagai target chip, kemudian klik ‘Continue’.
#11 Klik ‘Connect’ jika belum tersambung.
ICP belum tersambung ke NuEDU
#12 Jika muncul string ‘Chip Connected with Nu-Link (ID: xxxxxx)’ maka artinya software ICP sudah terhubung dengan baik ke board NuEdu. Dalam kasus saya, ICP tidak dapat langsung terhubung, namun ICP meminta untuk melakukan proses upgrade firmware NuLink di board NuEdu. Saya konfirmasi untuk melakukan proses upgrade firmware. Setelah proses upgrade firmware ini selesai, barulah muncul string ‘Chip Connected with Nu-Link (ID: xxxxxx)’.
ICP sudah tersambung ke NuEDU
#13 Pada tahap ini Arduino dan ICP sudah siap untuk dipakai. Selanjutnya adalah mencoba software dari Arduino.
Percobaan Arduino
#1. Cek port berapakah yang terhubung ke NuEdu. Caranya adalah dengan menjalankan Device Manager di Windows. Carilah ‘Nuvoton Virtual Com Port (COMxx)’.
#2. Jalankan Arduino. Jika terhubung ke internet, kadang-kadang Arduino akan memberitahu ada versi baru Arduino. Abaikan saja, karena patch NuEdu hanya berfungsi pada Arduino 1.5.8
Device Manager Windows 7
#3. Ubahlah setting port pada Arduino sesuai dengan Nuvoton Virtual Com Port yang terdeteksi.
Setting port serial di Arduino
#4. Pilihlah board NuEdu-UNO
Memilih board NuEdu UNO
#5. Siap untuk menjalankan Arduino seperti biasa. Untuk mencoba, pilihlah ‘File -> Examples -> 01.Basics -> Blink’.
Memilih contoh program Blink
#6. Compile dan upload. Status upload akan muncul di bagian bawah
Status upload software NuEdu-UNO
#7. Setelah software diupload kemungkinan software belum langsung jalan. Tekan tombol reset pada board NuEDU untuk mulai menjalankan software. Fitur ini berbeda dengan Arduino berbasis ATMega yang biasa saya pakai, yang umumnya langsung reset sendiri setelah softwarenya diupload.
Tombol reset pada NuEdu
#7. Cek apakah LED pada board berkedip. Jika LED berkedip artinya software berjalan baik.