å€éšèªå·±æå·åãã©ã€ãããªããŒã¹ããŠãããã³ã°ããã®ãç§ã®æããã®è¶£å³ã§ãã éå»ã«ã¯Zalman VE-400ãZalman ZM-SHE500ãZalman ZM-VE500ãªã©ã®ã¢ãã«ã§ç·Žç¿ããæ©äŒããããŸããã ã€ãæè¿ãååãå¥ã®å±ç€ºåãæã£ãŠããŠãããŸããããããªãªãã (ã¢ã€ãŽ) SK8671 ã¯ãLCD ã€ã³ãžã±ãŒã¿ãŒãš PIN ã³ãŒããå ¥åããããã®ããŒããŒããšããå žåçãªèšèšã«åŸã£ãŠæ§ç¯ãããŠããŸãã ããããåºãŠããã®ãâŠ
1.ã¯ããã«
ÐПÑпÑÑ
ãããã³ã°
ãã£ã¹ã¯ã«ä¿åãããŠããæå·åãããŠããããŒã¿ãžã®ã¢ã¯ã»ã¹ã¯ãPIN ã³ãŒããå ¥åããåŸã«å®è¡ãããŸãã ãã®ããã€ã¹ã«ã€ããŠã®ããã€ãã®çŽ¹ä»ã¡ã¢:
- PIN ã³ãŒããå€æŽããã«ã¯ãããã¯ã解é€ããåã« F1 ãæŒãå¿ èŠããããŸãã
- PIN ã³ãŒãã«ã¯ 6 ïœ 9 æ¡ã®æ°åãå«ããå¿ èŠããããŸãã
- 15 åã®ééã£ãè©Šè¡ã®åŸããã£ã¹ã¯ã¯ã¯ãªã¢ãããŸãã
2. ããŒããŠã§ã¢ã¢ãŒããã¯ãã£
ãŸããããã€ã¹ãéšåã«å解ããŠãã©ã®ãããªã³ã³ããŒãã³ãã§æ§æãããŠããããç解ããŸãã æãé¢åãªäœæ¥ã¯ã±ãŒã¹ãéããããšã§ããå€æ°ã®åŸ®çŽ°ãªããžãšãã©ã¹ããã¯ãå¿ èŠã§ãã ã±ãŒã¹ãéãããšã次ã®ãã®ã衚瀺ãããŸã (åç°ä»ããã XNUMX ãã³ã®ã³ãã¯ã¿ã«æ³šç®ããŠãã ãã)ã
2.1. ã¡ã€ã³ããŒã
ã¡ã€ã³ããŒãã¯éåžžã«ã·ã³ãã«ã§ãã
æã泚ç®ãã¹ãéšå (äžããäžãŸã§èŠãŠãã ãã):
- LCDã€ã³ãžã±ãŒã¿ãŒçšã³ãã¯ã¿(CN1)ã
- ãã€ãŒã¿ãŒ (SP1);
- PM25LD010 (
ä»æ§ ) SPI ãã©ãã·ã¥ ãã©ã€ã (U2)ã - Jmicron JMS539 ã³ã³ãããŒã©ãŒ (
ä»æ§ ) USB-SATA (U1) çšã - USB 3 ã³ãã¯ã¿ (J1)ã
SPI ãã©ãã·ã¥ ãã©ã€ãã«ã¯ãJMS539 ã®ãã¡ãŒã ãŠã§ã¢ãšããã€ãã®èšå®ãä¿åãããŸãã
2.2. 液æ¶è¡šç€ºæ¿
液æ¶åºæ¿ã«ã¯ç®ç«ã£ããã®ã¯ãããŸããã
ã®ã¿ïŒ
- åå äžæã® LCD ã€ã³ãžã±ãŒã¿ãŒ (ããããäžåœèªãã©ã³ã ã»ããã䜿çš)ã ã·ãŒã±ã³ã·ã£ã«å¶åŸ¡ä»ãã
- ããŒããŒãããŒãçšã®ãªãã³ã³ãã¯ã¿ã
2.3. ããŒããŒãããŒã
ããŒããŒã ããŒãã調ã¹ããšãäºæ ã¯ããã«èå³æ·±ãæ¹åã«é²ã¿ãŸãã
ããã®è£åŽã«ã¯ããªãã³ ã³ãã¯ã¿ãš Cypress CY8C21434 ãã€ã¯ãã³ã³ãããŒã©ãŒ PSoC 1 (以äžãåã« PSoC ãšåŒã³ãŸã) ãèŠããŸãã
CY8C21434 㯠M8C åœä»€ã»ããã䜿çšããŸã (ã
2.4. ã¯ã€ã€ãŒãèŠãŠã¿ããš
ããã«äœãé¢ä¿ããŠããã®ãèŠãŠã¿ãŸãããã ãããè¡ãã«ã¯ããã«ãã¡ãŒã¿ãŒã§ã¯ã€ã€ãŒããã¹ãããã ãã§ãã
èã«æããããã®å³ã®èª¬æ:
- PSoC ã¯æè¡ä»æ§ã«èšèŒãããŠããŸãã
- 次ã®ã³ãã¯ã¿ (å³åŽã®ã³ãã¯ã¿) 㯠ISSP ã€ã³ã¿ãŒãã§ã€ã¹ã§ãéåœã®æå¿ã«ãããã€ã³ã¿ãŒãããäžã«æžãããŠããå 容ãšäžèŽããŸãã
- äžçªå³ã®ã³ãã¯ã¿ã¯ãããŒããŒã ããŒããžã®ãªãã³ ã³ãã¯ã¿çšã®ç«¯åã§ãã
- é»ãé·æ¹åœ¢ã¯ CN1 ã³ãã¯ã¿ã®å³ã§ãã¡ã€ã³åºæ¿ã LCD åºæ¿ã«æ¥ç¶ããããã«èšèšãããŠããŸãã P11ãP13ãããã³ P4 ã¯ãLCD ããŒãäžã® PSoC ãã³ 11ã13ãããã³ 4 ã«æ¥ç¶ãããŠããŸãã
3. æ»ææé ã®ã·ãŒã±ã³ã¹
ãã®ãã©ã€ããã©ã®ãããªã³ã³ããŒãã³ãã§æ§æãããŠããããããã£ãã®ã§ã次ã®ããšãè¡ãå¿ èŠããããŸãã1) åºæ¬çãªæå·åæ©èœãå®éã«ååšããããšã確èªããŸãã 2) æå·åããŒãã©ã®ããã«çæ/ä¿åããããã調ã¹ãŸãã 3) PIN ã³ãŒããæ£ç¢ºã«ãã§ãã¯ãããå ŽæãèŠã€ããŸãã
ãããè¡ãããã«ã次ã®æé ãå®è¡ããŸããã
- SPI ãã©ãã·ã¥ ãã©ã€ãããããŒã¿ ãã³ããååŸããŸããã
- PSoC ãã©ãã·ã¥ ãã©ã€ãããããŒã¿ããã³ãããããšããŸããã
- Cypress PSoC ãš JMS539 éã®éä¿¡ã«å®éã«ããŒã¹ãããŒã¯ãå«ãŸããŠããããšãæ€èšŒããŸããã
- ãã¹ã¯ãŒããå€æŽãããšãã«ãSPI ãã©ãã·ã¥ ãã©ã€ãã«äœãäžæžããããªãããšã確èªããŸããã
- 8051 ãã¡ãŒã ãŠã§ã¢ã JMS539 ããå ã«æ»ãã®ãé¢åã§ããã
3.1. SPI ãã©ãã·ã¥ ãã©ã€ãããããŒã¿ ãã³ããååŸãã
ãã®æé ã¯éåžžã«ç°¡åã§ãã
- ãããŒãããã©ãã·ã¥ ãã©ã€ãã®èã«æ¥ç¶ããŸã: CLKãMOSIãMISOãããã³ (ãªãã·ã§ã³) ENã
- ããžãã¯ã¢ãã©ã€ã¶ãŒã䜿çšããŠã¹ããã¡ãŒãšã®éä¿¡ããã¹ãããããŸãïŒç§ã¯äœ¿çšããŸããïŒ
ãµã¬ãšããžãã¯ãã16 ); - SPI ãããã³ã«ããã³ãŒãããçµæã CSV ã«ãšã¯ã¹ããŒãããŸãã
- å©çšãã
ãã³ãŒã_spi.rb çµæã解æããŠãã³ããååŸããŸãã
ãã®ã³ã³ãããŒã©ãŒã¯åæå段éã§ãã©ãã·ã¥ ãã©ã€ããããã¹ãŠã®ãã¡ãŒã ãŠã§ã¢ãããŒãããããããã®ã¢ãããŒã㯠JMS539 ã³ã³ãããŒã©ãŒã®å Žåã«ç¹ã«ããŸãæ©èœããããšã«æ³šæããŠãã ããã
$ decode_spi.rb boot_spi1.csv dump
0.039776 : WRITE DISABLE
0.039777 : JEDEC READ ID
0.039784 : ID 0x7f 0x9d 0x21
---------------------
0.039788 : READ @ 0x0
0x12,0x42,0x00,0xd3,0x22,0x00,
[...]
$ ls --size --block-size=1 dump
49152 dump
$ sha1sum dump
3d9db0dde7b4aadd2b7705a46b5d04e1a1f3b125 dump
SPI ãã©ãã·ã¥ ãã©ã€ããããã³ããååŸããçµæãSPI ãã©ãã·ã¥ ãã©ã€ãã®å¯äžã®åœ¹å²ã¯ã8051 ãã€ã¯ãã³ã³ãããŒã©ã«çµã¿èŸŒãŸããŠãã JMicron å¶åŸ¡ããã€ã¹ã®ãã¡ãŒã ãŠã§ã¢ãä¿åããããšã§ãããšããçµè«ã«éããŸããã æ®å¿µãªãããSPI ãã©ãã·ã¥ ãã©ã€ãã®ãã³ããååŸããŠã圹ã«ç«ããªãããšãå€æããŸããã
- PIN ã³ãŒããå€æŽãããŠãããã©ãã·ã¥ ãã©ã€ãã®ãã³ãã¯å€ãããŸããã
- åæå段éã®åŸãããã€ã¹ã¯ SPI ãã©ãã·ã¥ ãã©ã€ãã«ã¢ã¯ã»ã¹ããŸããã
3.2. éä¿¡ã®çèŽ
ããã¯ã察象ã®æé/å 容ã®éä¿¡ããã§ãã¯ãã責任ãè² ã£ãŠããããããèŠã€ãã 1 ã€ã®æ¹æ³ã§ãã ãã§ã«ãåç¥ã®ãšãããUSB-SATA ã³ã³ãããŒã©ã¯ã³ãã¯ã¿ CNXNUMX ãš XNUMX æ¬ã®ãªãã³ãä»ã㊠Cypress PSoC LCD ã«æ¥ç¶ãããŠããŸãã ãããã£ãŠããããŒãã XNUMX ã€ã®å¯Ÿå¿ããã¬ãã°ã«æ¥ç¶ããŸãã
- P4ãäžè¬å ¥åºåã
- P11ãI2C SCL;
- P13ãI2C SDAã
次ã«ãSaleae ããžã㯠ã¢ãã©ã€ã¶ãŒãèµ·åããããŒããŒãã§ã123456~ããšå ¥åããŸãã ãã®çµæã次ã®å³ã衚瀺ãããŸãã
ããã«ã¯ XNUMX ã€ã®ããŒã¿äº€æãã£ãã«ã衚瀺ãããŸãã
- ãã£ãã« P4 ã«ã¯ããã€ãã®çãããŒã¹ãããããŸãã
- P11 ãš P13 ã§ã¯ãã»ãŒç¶ç¶çãªããŒã¿äº€æãè¡ãããŸãã
ãã£ãã« P4 ã®æåã®ã¹ãã€ã¯ (åã®å³ã®éãåè§åœ¢) ãæ¡å€§ãããšã次ã®ããšãããããŸãã
ããã§ã¯ãP4 ã«ã»ãŒ 70ms ã®å調ãªä¿¡å·ãããããšãããããŸããããã¯æåã¯ã¯ããã¯ä¿¡å·ã®åœ¹å²ãæãããŠããããã«æããŸããã ããããæéããããŠæšæž¬ã確èªããçµæãããã¯ã¯ããã¯ä¿¡å·ã§ã¯ãªããããŒãæŒããããšãã«ãã€ãŒã¿ãŒã«åºåããããªãŒãã£ãª ã¹ããªãŒã ã§ããããšãããããŸããã ãããã£ãŠãä¿¡å·ã®ãã®ã»ã¯ã·ã§ã³èªäœã«ã¯æçãªæ å ±ã¯å«ãŸããŠããŸããã ãã ããPSoC ãããŒæŒäžããã€ç»é²ããããç¥ãããã®ã€ã³ãžã±ãŒã¿ãŒãšããŠäœ¿çšã§ããŸãã
ãã ããææ°ã® P4 ãªãŒãã£ãª ã¹ããªãŒã ã¯å°ãç°ãªããŸããããã¯ãç¡å¹ãª PINãã®ãªãŒãã£ãªã§ãã
ããŒã¹ãããŒã¯ ã°ã©ãã«æ»ããæåŸã®ãªãŒãã£ãª ã¹ããªãŒã ã°ã©ããæ¡å€§ãããš (éãåè§åœ¢ãå床åç §)ã次ã®çµæãåŸãããŸãã
ããã§ã¯ãP11 ã«å調ãªä¿¡å·ãèŠãããŸãã ãããã¯ããã¯ä¿¡å·ã®ããã§ãã ãããŠP13ã¯ããŒã¿ã§ãã ããŒãé³ãçµäºããåŸã«ãã¿ãŒã³ãã©ã®ããã«å€åãããã«æ³šç®ããŠãã ããã ããã§äœãèµ·ããããèŠãã®ã¯èå³æ·±ãã§ãããã
2 æ¬ã®ã¯ã€ã€ã§åäœãããããã³ã«ã¯éåžž SPI ãŸã㯠I2C ã§ãããCypress ã®æè¡ä»æ§ã§ã¯ããããã®ãã³ã¯ IXNUMXC ã«å¯Ÿå¿ãããšèšèŒãããŠããããã®ã±ãŒã¹ã§ã¯ãããåœãŠã¯ãŸããŸãã
USB-SATA ãããã»ããã¯åžžã« PSoC ãããŒãªã³ã°ããŠããŒã®ç¶æ ãèªã¿åããŸããããã©ã«ãã§ã¯ã0ãã§ãã 次ã«ã1ãããŒãæŒããšã1ãã«å€ãããŸãã PINã³ãŒããééããå ŽåããïœããæŒããçŽåŸã®æçµéä¿¡ãç°ãªããŸãã ãã ãããã«å®éã«äœãäŒãã£ãŠããã®ãã¯çŸæç¹ã§ã¯ç¢ºèªããŠããŸããã ãããããããæå·åããŒã§ããå¯èœæ§ã¯äœããšæãããŸãã ãšã«ãããPSoC å éšãã¡ãŒã ãŠã§ã¢ãåé€ããæ¹æ³ãç解ããã«ã¯ã次ã®ã»ã¯ã·ã§ã³ãåç §ããŠãã ããã
åºæïŒ habr.com