Skip to content

AndrejChoo/uart_prog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

48 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

uart_prog

Programmer spi flash 25xx, i2c eeprom 24xx and microwire eeprom 93xx on arduino.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ позволяСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ· arduino nano/uno (Π° ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ - ΠΈΠ· любого ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ Π½Π° Π±ΠΎΡ€Ρ‚Ρƒ UART,SPI,I2C ΠΈ хотя Π±Ρ‹ 1Кб ΠžΠ—Π£) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ SPI-Flash 25-ΠΉ сСрии, I2C-EEPROM 24-ΠΉ сСрии ΠΈ Microwire EEPROM 93-ΠΉ сСрии. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ микросхСмы ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ прямо ΠΊ Π½ΠΎΠΆΠΊΠ°ΠΌ Π°Ρ€Π΄ΡƒΠΈΠ½Ρ‹ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌΠΈ (для 24Ρ…Ρ… Π΅Π΅ΠΏΡ€ΠΎΠΌ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄Ρ‚ΡΠ½ΡƒΡ‚ΡŒ Π»ΠΈΠ½ΠΈΠΈ SCL, SDA ΠΊ ΠΏΠ»ΡŽΡΡƒ питания) см. схСму ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ:

scheme

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для ПК написана Π½Π° C# для Windows ΠΈ пСрСписана Π½Π° Qt для Linux ΠΈ Windows. Она ΠΈΠΌΠ΅Π΅Ρ‚ Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹: soft

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π° Linux потрСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Qt (qserialport, qt-base, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅Ρ‰Ρ‘ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ запускС ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°), Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ потрСбуСтся ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° доступа для /dev/ttyUSB0 (chmod a+rw /dev/ttyUSB0). На Ubuntu Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ch340 USB-UART-ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ brltty, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ.

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° с ΠΎΠ±ΠΎΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π•Π•ΠŸΠ ΠžΠœ достаточно высокая, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ сСкунды для самого Ρ‘ΠΌΠΊΠΎΠ³ΠΎ Ρ‡ΠΈΠΏΠ° 24Π‘256, Π° Π²ΠΎΡ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π»Π΅ΡˆΠΊΠ°ΠΌΠΈ 25Ρ…Ρ… сильно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° UART-ΠΎΠΌ, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠœΠ΅Π³Π°Π±Π°ΠΉΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΡ‚ 1,5 ΠΌΠΈΠ½ΡƒΡ‚ (ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ - ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ с Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ USB ΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΎΠΌ ΠΏΠΎ CDC, Π² этом случаС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ 1 ΠœΠ΅Π³Π°Π±Π°ΠΉΡ‚Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ нСсколько сСкунд). Π’ спискС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… SPI-Flash 25-ΠΉ сСрии ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„Π»Π΅ΡˆΠΊΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Winbond, Π½ΠΎ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ„Π»Π΅ΡˆΠΊΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½ΠΎ, просто Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΈΠ· списка Ρ„Π»Π΅ΡˆΠΊΡƒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΡ‘ΠΌΠ°. Π’ Π΄Π°Π½Π½ΠΎΠΉ вСрсии ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ„Π»Π΅ΡˆΠΊΠΈ Π΄ΠΎ 8 ΠœΠ΅Π³Π°Π±Π°ΠΉΡ‚ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ (с Ρ‚Ρ€Ρ‘Ρ…Π±Π°ΠΉΡ‚Π½ΠΎΠΉ адрСсациСй Π΄ΠΎ w25q64 Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ), w25q128 ΠΈ Π±ΠΎΠ»Π΅Π΅ я Π½Π΅ провСрял, Π΄Π° ΠΈ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°ΠΊΠΎΠΉ Ρ„Π»Π΅ΡˆΠΊΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎΠ΅. КасаСмо ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π΅Π΅ΠΏΡ€ΠΎΠΌ ΠΎΠ±ΠΎΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² - Π² спискС прСдставлСны ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° производитСля.

Π’ ΠΏΠ°ΠΏΠΊΠ΅ "source" находятся исходныС ΠΊΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° для atmega328p, написанныС ΠΏΠΎΠ΄ avr-gcc. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ (GPIO, USART, SPI, I2C) ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΡ€ΠΈΡ‘ΠΌΡƒ Π±Π°ΠΉΡ‚Π° ΠΏΠΎ USART.

HEX-Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Π² ΠΏΠ°ΠΏΠΊΠ΅ "firmware" скомпилирован для atmega328p (arduino nano/uno), Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ ΠΎΡ‚ ΠΊΠ²Π°Ρ€Ρ†Π° Π½Π° 16MHz. ΠŸΠ»Π°Ρ‚Ρƒ Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡˆΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· встроСнный USB с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ "ArduinoUploader" ΠΈ Π΅ΠΉ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ.

Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ скомпиллированныС ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Π΅Ρ‰Ρ‘ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ»Π°Ρ‚/ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΊΠ°ΠΊ распространённых, Ρ‚Π°ΠΊ ΠΈ экзотичСских (эти ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Ρ‚ΠΎΠ»ΠΊΠΎΠΌ Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ»ΠΈΡΡŒ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ!). ВсС ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ снабТСны инструкциСй ΠΏΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ‡ΠΈΠΏΠΎΠ².

About

Programmer spi flash 25xx, i2c eeprom 24xx and microwire eeprom 93xx on arduino

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages