All'accensione il chip CY7C68013A controlla la sua porta I2C per la connessione di una memoria eeprom (con l'indirizzo 0xA0/small eeprom o 0xA2/large eeprom) di cui il primo byte è 0xC0 o 0xC2.
Se trovato, utilizza i valori VID/PID letti da EEPROM, altrimenti utilizza i valori predefiniti: "VID=04B4, PID=8613".
Se il primo Byte dell'eeprom è 0xC2 il CY7C68013A carica anche il programma dall'eeprom nella ram interna.
Passi da seguire per programmare i chip EEPROM con i VID e PID da noi desiderato:
A-Installare il software per il kit di sviluppo "CY3684EZ-USB FX2LP Development Kit".
ll file CY3684Setup.exe è scaricabile da http://www.cypress.com/?rID=14321 e contiene driver , essempi, utilitare e "Cypress Suite USB 3.4.7".
B- Installare i driver per la scheda di sviluppo.
1-- collegare la scheda al PC con il jumper J1(scheda USB) desinserito e il jumper JP1(scheda interfaccia) desinserito. Se il SO chiede di installare il driver per il dispositivo andate direttamene al punto 5.
2-- in dispositivi e stampanti (o in device manager) fate doppio clik sul vostro dispositivo (Ha il ID Hardware "USB\VID_04B4&PID_8613 ..." - in finestra proprietà/dettagli)
3-- selezionare il tab Driver nela finestra Proprietà
4-- click su aggiorna driver
5-- scegliere l'opzione "Cerca il software del driver nel computer"
6-- click su "Sfoglia" per indicare la cartella con i file driver. Nella cartella C:\Cypress\USB\CY3684_EZ-USB_FX2LP_DVK\1.0\Drivers\cyusbfx1_fx2lp\ troviamo i driver per diversi sistemi operativi.
Esempio: per Win7 a 64bit la cartella è "C:\Cypress\USB\CY3684_EZ-USB_FX2LP_DVK\1.0\Drivers\cyusbfx1_fx2lp\wlh-win7\x64" .
7-- click sul tasto "Avanti", e dopo l' installazione del driver il nostro dispositivo sarà riconosciuto come "Cypress EZ-USB FX2LP No EEPROM(3.4.5.000)"
C- Programmare le memorie eeprom con i nostri valori per VID e PID.
Per questo utilizzeremo il programmino FxEEPROM.exe installato al punto A ("C:\Cypress\Cypress Suite USB 3.4.7\CyAPI\examples\FxEEPROM\FxEEPROM.exe").
1-- per programmare la memoria che si trova sulla scheda di sviluppo (con il jumper J1 inserito e senza scheda interfaccia conessa) è utilizzato il tasto "Program Large EEPROM" che ci chiede il file con l'estensione "*.iic" preparato con i nostri valori del VID e PID (vedi il punto D).
2-- per programmare una delle memorie eeprom trovate sulla scheda interfaccia, scelta con il jumper JP1 (J1-scheda USB inserito o il chip U3 eeprom dissaldato), è utilizzato il tasto "Program Small EEPROM" che poi chiederà di scegliere il file "*.iic" desiderato.
3-- Al momento dell' accensione della scheda, la memoria eeprom deve essere vuota o scollegata (J1-desinserito) per fare in modo che il programma "FxEEPROM.exe" riconosca la scheda come "Cypress EZ-USB FX2LP No EEPROM(3.4.5.000)". Dopo il riconoscimento della scheda da parte del sistema operativo si può abilitare la mem. eeprom desiderata (con J1 l' eeprom sulla scheda usb e con JP1 l'eeprom sulla scheda interfaccia).
D- Preparare Il file *.iic con il valore VID e PID.
Per creare un file per EEPROM in formato hex si deve utilizzare un editor esadecimale. Può essere utilizzato HxD - programma free scaricabile da " http://mh-nexus.de/en/downloads.php?product=HxD ".
Il file di prova EEPROM_test.iic.
Nell'immagine di sopra con il file EEPROM_test.iic i valori che saranno scritti in eeprom ("C0 25 09 81 38 00 00 00") rappresentano:
- C0 - indica al microcontrollore che la memoria contiene i valori VID/PID;
- 25 09 - valore VID che in questo esempio è 0x0925;
- 81 38 - valore PID che in questo esempio è 0x3881;
- 00 00 00 - valore DID.
Siccome nell'eeprom i dati sono a 8bit, il valore a 16bit viene scritto con il byte meno significativo prima del byte più significativo (0x0925 -> 0x25 seguito da 0x09). |