CH341

Da raspibo.
Versione del 21 dic 2018 alle 19:07 di Dancast78 (discussione | contributi) (Creata pagina con '= CH341 = Questa pagina è dedicata al chip CH341, si tratta di un circuito multifunzione di cui si trova poca documentazione. L'unico rifrimento chiaro che ho trovato è su...')
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

CH341

Questa pagina è dedicata al chip CH341, si tratta di un circuito multifunzione di cui si trova poca documentazione.

L'unico rifrimento chiaro che ho trovato è su questa pagina che oltre al datasheet riporta la seguente definizione.

"CH341 is a USBbus convert chip, providing UART, printerport, parallel and synchronous serial with 2-wire or4-wire through USBbus."

Viene venduto già saldato su varie board, mi ci sono imbattuto perchè stavo cercando un circuito per leggere una eeprom tramite il programma flashprog e mi serviva un hardware usb da connettere al pc.

I programmatori che si trovano normalmente hanno tensione a 5 volts e quindi ho poi ripiegato su raspberry utilizzando flshprog per interfacciare la eeprom alla porta spi di raspberry.

Nel frattempo però avevo già ordinato il programmatore in versione a doppio voltaggio (se cercato CH341 electrodragon lo trovate facilmente).

Questa board è interessante perchè ha due switch, uno per la selezione della tensione (3.3Volts oppure 5Volts) ed uno per decidere la modalità di funzionamento del chip (porta seriale oppure spi/i2c).

Configurazione

Normalmente il kernel linux riconosce il chip come adattatore USB - seriale creando una porta /dev/ttyUSB0 e questo è utile, ma è na funzionalità abbastanza comune e ci sono diversi chip che hanno questa funzione.

Per riuscire a utilizzare il chip in altra modalità è necessario fare un pò di cose: - compilare uno o due moduli per il kernel a seconda se abbiamo necessità di usare il chip come porta i2c o spi. - ricompilare il kernel linux per poter vedere i devices perchè normalmente le porte spi non sono visibili nella cartella /dev.

Per il primo punto ho utilizzato il software di Gunar Schorcht derivato da un primo modulo sviluppato da Tse Lun Bien. Per l'installazione ho seguito le istruzioni nel README senza registrare problemi.

Vediamo ora in dettaglio il modulo per la funzione spi, una volta compilato ed inserito il modulo