ååã¯ã³ã³ã¿ã¯ã詊éšã®æé ã説æããŸããããä»åã¯ãã¡ã³ã¯ã·ã§ã³è©Šéšãè¡ã£ãŠã¿ãŸãã
ã³ã³ã¿ã¯ã詊éšãšããã®ã¯ãããã°é»æ°çã«å¯Ÿè±¡(ä»åãªãMCU)ãæ£åžžã? ã確èªããããã®ãã®ã§ããããã¡ã³ã¯ã·ã§ã³è©Šéšã¯ããã¡ãã£ãšé«ã¬ãã«ãªãå¯Ÿè±¡ãæ£ããåäœããããã確èªãããã®ã§ããå ·äœçã«ããã°ãMCUå ã«èšºæçšã®ããã°ã©ã ããããããããŒãããŠãããããã«å¯ŸããŠå€éšããä¿¡å·ãå ¥åãããã°ã©ã ãå ¥åä¿¡å·ã«ããããŠåºåä¿¡å·ãçæããããCX1000Pã§ååŸãæ£ããåäœãè¡ã£ãŠãããã確èªããããšã«ãªããŸãããããå®éã«è¡ãå Žåãæé ãšããŠã¯
- ãã¹ãå 容ãèšèšããããã«åãããŠMCUã®ãã¡ãŒã ãŠã§ã¢ãèšè¿°ãã
- MCUã«ãã¹ãçšã®ãã¡ãŒã ãŠã§ã¢ãããŒããã
- (1)ã®å 容ã«åãããŠå ¥åºåä¿¡å·ããŸãšããŠãã¿ãŒã³ãã¡ã€ã«ãèšè¿°ãã³ã³ãã€ã«ãã
- CX1000Pã§ãã¿ãŒã³ãã¡ã€ã«(ãåºã«ãããªããžã§ã¯ããã¡ã€ã«)ãèªã¿èŸŒãã§ãããã«ããããŠå ¥åä¿¡å·ãçæãåºåä¿¡å·ãååŸããŠæ¯èŒãã
ãšãã圢ã«ãªããŸããä»åã¯ã¹ã¿ãŒã¿ãããã«åããã圢ã§ã(1)ïœ(3)ã®æºåãå®äºããŠããã®ã§(ãããã«ã€ããŠã¯åŸã§å°ã è§ŠããŸã)ã(4)ã«ã€ããŠèª¬æããããšã«ããŸãã
IPã®éžæ
ãã¡ã³ã¯ã·ã§ã³è©Šéšãè¡ãããã«å¿ èŠãªIPã¯ãFunctionalMeasure_IPã§ã(Photo01)ããã¡ãã¯CTS Onlineã§ã¯ãããžãã¯æ©èœæ€èšŒããšããŠè²©å£²ãããŠããŸã(Photo02)ãçŸåšã¯æ¡åŒµããŒã¿ã»ãã°ã»ãã©ã°ã€ã³(Photo03)ãæäŸãããŠããŸãããããã¯èª¬æã«ããéãããŒã¿ãã°ã2049ãµã€ã¯ã«ä»¥äžèšé²ããããã®ãã®ã§ãããããé·ããã¹ããã¿ãŒã³ã宿œããå Žåã«ã¯å¿ èŠã«ãªããŸãããä»åã¯ãã£ãšçããã¿ãŒã³ã§æ€èšŒãè¡ãã®ã§ãæ¡åŒµããŒã¿ã»ãã°ã»ãã©ã°ã€ã³ã¯ã€ã³ã¹ããŒã«ããŠãããŸãããããã(ååã®ã黿µã»é»å§æ€èšŒIPããšåãæé ã§)å ¥æã»ã€ã³ã¹ããŒã«åŸã«èµ·åãããšãNew Measure Itemã«"FunctionalMeasure_IP"ãåºçŸããŸãã
è©Šéšæ¡ä»¶ã®èšå®
ä»åã®è©Šéšã¯ã黿ºãã³ã«5Vãå°å ãããã®äžã§RA3/RA5ãã³ã«å¯ŸããŠç¹å®ã®å ¥åä¿¡å·ãå°å ãããšãRA0/RA1/RA2ã®åãã³ã«å¯ŸããŠãããã«å¯Ÿå¿ããåºåä¿¡å·ãåºãŠãã圢ã®ãã®ã§ãã
FunctionalMeasure_IPãéžæããŠ"Setup and Executions"ç»é¢ã«æ ããšãæåã«åºãŠããã®ããã®Parameterç»é¢ã§ã(Photo04)ãããã¯ç¶ãTabã®äžã§åºãŠãã现ããªèšå®ã以å€ãããŸãšããŠèšå®ãããã®ã§ããä»åã®ãã¹ãã§ã¯ã"Power Sequence Off"ã"ENABLE"ã«èšå®ããå¿ èŠããããŸã(黿ºæå ¥æã«å®æœãããããã¯ãŒãªãã·ãŒã±ã³ã¹ã宿œããã®æå³)ããããã©ã«ãã§"ENABLE"ãªã®ã§ããããèšå®ãããŠããã°ãã以äžã®å€æŽã¯å¿ èŠãããŸããã
次ãPower Supplyã¿ãã§ã(Photo05)ãããã¯MCUãžã®é»å§äŸçµŠã®èšå®ãè¡ããŸããèšå®é ç®ãšããŠã¯
- SelectPinsãã¿ã³ãæŒãã"VDD"ãæå®ããŸãã
- Bypass Capacitorãã¯ãªãã¯ããŠãOn(æ¥ç¶)ç¶æ ã«ããŸãã
- å³ç«¯ã®"Source Value[V]"ã«5ãå ¥åããŸãã
ã®3ã€ã§ãããããå®äºãããšããã¹ãäžã¯MCUã«5VãäŸçµŠããèšå®ãã§ããäºã«ãªããŸããã¡ãªã¿ã«Source Valueã«4V以äžãå ¥åãããšããããªãã€ã¢ãã°(Photo06)ã衚瀺ãããŸãããããã¯ãã ã®éç¥ãªã®ã§OKãæŒããŠäžããã
ããŠã次ãèå¿ã®ä¿¡å·ãã¿ãŒã³ã®èšå®éšã§ããããŸãåºæ¬çãªèãæ¹ãã¡ãã£ãšã玹ä»ããŸããPhoto07ã¯CTSã®ããã¹ãããã®æç²ã§ãããCX1000ã§ã¯ããæé(Periodå€)ã®ç¯å²ã§ä¿¡å·ãç£èŠãããã®Periodããšã«ä¿¡å·ãã©ãããæ¯ãèããããããã0/1/H/L/Z/XãšããŠåºå¥ããŸãããã®äŸã§èšãã°ããã³Bã0ã«ããã³Cã1ã«ããã¿ã€ãã³ã°ãã2ã¯ããã¯åŸã«ãã³Dã®åºåãLã«ãªããåã³ãã³Cã1ã«ããæ¬¡ã®ãµã€ã¯ã«ã§ãã³DãHã«ãªãäºã確èªããããšããå³åŒã«ãªããŸãããã®0/1/H/L/Z/Xãã®ãã®ã®æå®ã¯åé ã«åºãŠãããã¿ãŒã³ãã¡ã€ã«ã§æå®ããããšã«ãªããŸãããããã«ããããŠãããã0/1/H/Lãšããä¿¡å·ã¯ã©ãããé»å§ãªã®ãããšããäºãCX1000åŽã«èšå®ããã®ããæ¬¡ã®Signalã¿ã(Photo08)ã§ãã
|
|
|
Photo07:0/1ã¯ããããå ¥åä¿¡å·ã§ã0ãLowã1ãHighã§ããH/L/Z/Xã¯åºåä¿¡å·åŽãžã®åºå¥ãšãªããŸã |
Photo08:åæç¶æ ã¯ãã®ãããªæãã§ã |
ããã§ã¯
- TS(Timing Set) 1ã®éã®Periodã31.25n(31.25ns)ã«èšå®ããŸããCloudTesting Labã¯æå€§16çš®é¡ã®Timing Setãä¿æã§ããã®ã§ãããšãã°TS1ã¯10MHzãTS2ã¯5MHzãšãã£ãæ§ã«è€æ°ã®é床ã§ã®åäœã確èªããããšãå¯èœã§ããããã§ã¯ãŸãTS1ã«31.25ns(32MHzçžåœ)ãã»ããããŸããã¡ãªã¿ã«æå®ã®éã«s(second)ã®å ¥åã¯äžèŠã§ãåã«"31.25n"ã ãã§ååã§ãã
- SelectPinsãã¿ã³ãæŒããŠã"IO_PINS"ãæå®ããŸãã
- "Mode"ã«"I/O"ãæå®ããŸãã
- ãã¿ãŒã³0ã¯ç«ã¡äžãã
(Photo09)ããã¿ãŒã³1ã¯ããã«ãšããž
(Photo10)ã«èšå®ããŸãããã®éããã¿ãŒã³1ã®<B>(ããã«ãšããžã®ç«ã¡äžãã)ã®éšåã®æ°åãããã«ã¯ãªãã¯ãã"15.625n"(15.625ns)ãå
¥åããŸã(Photo11)ã - VIHã«"5"(5V)ãVILã«"0"(0V)ãVOHãšVOLã«"2.5"(2.5V)ãå ¥åããŸããããã¯ããå ¥åé»å§ã¯ãHã5VãLã0Vãšããåºåé»å§ã¯2.5V以äžãªãHã2.5VæªæºãªãLãšå€æãããã®æå³ã§ãã
- LoadModeã"None"ã«èšå®ããŸããããã¯åºåã«è² è·ã¯æããªãäºãæå³ããŸãã
ãããŸã§ã§ãIO_PINSã«å¯Ÿããèšå®ã¯å®äºããŸããããããã«ããš2ã€ãRA3ãšTRIG_PINã«ã€ããŠã®èšå®ãè¡ããŸãã2è¡ç®ãš3è¡ç®ã®Pin Nameã«ããããRA3/TRIG_PINãå ¥åããŸããèšå®å€ã¯
RA3 : Modeã¯I/OãTimingã®ãã¿ãŒã³0ã¯ç«ã¡äžããããã¿ãŒã³1ã¯ç«ã¡äžãããVIH/VIL/VOH/VOLã¯ãããã5/0/2.5/2.5ã«èšå®ããŸããLZHã«ã¯"15.625n"ãæå®ããŸãããŸãLoad Modeã¯"None"ãšããŸãã
TRIG_PIN : Modeã¯InãTimingã®ãã¿ãŒã³0ã¯ç«ã¡äžããããã¿ãŒã³1ã¯ç«ã¡äžãããVIH/VILã¯5/0ã«èšå®ããŸããModeãIn(å
¥å)ãªã®ã§ãVOH/VOLã®èšå®ããããã¯Load Modeãªã©ã¯æå®åºæ¥ãªãæ§ã«ãªãçã§ãã
æçµçã«ã¯ãPhoto12ã®æ§ãªèšå®ç»é¢ã«ãªã£ãããTS 1ã®èšå®ã¯å®äºã§ãããTS 1ã®ããšæžããããã«ã¯ãããã²ãšã€ãããŸããä»åºŠã¯TSã2ã«èšå®ããPeriodã"1u"(1ÎŒs)ã«ããŸããã»ãã®èšå®ã¯ã»ãŒTS 1ãšåãã§ãããå¯äžéãã®ã¯IO_PINSã®<B>ã§ããã¡ãã¯Periodã®ååãšããããšã§"500n"(500ns)ã«ããããšã§ããèšå®ãçµãã£ãç¶æ ããã¡ã(Photo13)ã«ãªããŸãã
次ã«"Pattern"ã¿ãã«ç§»ããŸã(Photo14)ãããã¯ãå ã«èª¬æãããã¿ãŒã³ãã¡ã€ã«(æ£ç¢ºã«æžãã°ããã¿ãŒã³ãªããžã§ã¯ããã¡ã€ã«)ãæå®ããŸããä»åã¯ã¹ã¿ãŒã¿ãããã«ãããããã¿ãŒã³ãªããžã§ã¯ããã¡ã€ã«ãæå®ããŸãã
æåŸãPower sequenceã¿ãã«ãªããŸããããã¯ããã¹ãã®éã«é»æºãšä¿¡å·ãã©ã®ã¿ã€ãã³ã°ã§æå ¥ããããæ±ºå®ãããã®ã§ããMCUã«éããã©ããªæ©åšã§ãã黿ºæå ¥çŽåŸã«ããåäœå¯èœããšãããã®ã¯æ®ã©ãªããéåžžã¯äžå®ã®ã»ããã¢ããæéãå¿ èŠã§ãããªã®ã§ã黿ºæå ¥ããå ¥åä¿¡å·æå ¥éå§ãŸã§ã®æéãæå®ããå¿ èŠããããŸãããŸãããã¹ãçµäºåŸãã©ã®ã¿ã€ãã³ã°ã§é»æºããªãã«ããããæå®ããªããšããã€ãŸã§ã黿ºãå ¥ãã£ã±ãªãã«ãªã£ãŠããŸããŸããããããèšå®ãè¡ãã®ããã®ç»é¢ã§ãã
Photo15ããã®ç»é¢ã§ã黿ºæå ¥åŸã6msåŸã«è©Šéšãå®è¡ããŸãããŸãã詊éšçµäºåŸã6msåŸã«é»æºãªãã«ãªããŸãããããåæèšå®ãšãªã£ãŠããŸããããã«
- ALL_PINSã远å ã2msã§ä¿¡å·æå ¥ãšããã
- TRIG_PINã远å ã2msã§ä¿¡å·æå ¥ãšããã
ãšãã2é ç®ã远å ããŸããPhoto16ãèšå®å®äºåŸã®ç»é¢ãšãªããŸãã
|
|
|
Photo15:VDDã¯ããã©ã«ãã§è¿œå ãããŠããŸã |
Photo16:ãã³åã®æå®ã¯ãå³ã®"âŠ"ãã¿ã³ãæŒãããšã§å¯èœã«ãªããŸã |
ãã¹ãã®å®è¡
ãããŸã§ã®èšå®ãå šéšçµãã£ãããå®è¡ãããŠã¿ãŸããããã¯åååæ§ãç»é¢äžæ®µã®å®è¡ãã¿ã³ãæŒãã ãã§å®äºããŸããåé¡ããªããã°ãPhoto17ã®æ§ã«ç·è²ã§"Pass"ã®æåã瀺ããããšå ±ã«ããã°è¡šç€ºæ¬ã«æ£åžžå®è¡ãããšããçµæã®ã¿ã瀺ãããŸããã§ã¯ç°åžžããã£ãå Žåã¯ã©ãã? ãšããããšã§ããã¿ãŒã³ãã¡ã€ã«ãã¡ãã£ãšæžãæããŠãšã©ãŒãåºãããã«ããå Žåã®çµæãPhoto18ã«ãªããŸãããã®ã±ãŒã¹ã§ããã°ãCycle 39ïœ3Cã®4cycleã§ãæ¬æ¥RA0ãã³ãHã«ãªãã¹ããšããããLã«ãªã£ãŠãããšããŠç€ºãããŸãã
ãã®ãã¹ãçµæã®åŸåŠçã«ã€ããŠã¯æ¥æã玹ä»ãããšããŠãããã§å°ããã¿ãŒã³ãã¡ã€ã«ã«ã€ããŠèª¬æããããšæããŸãããã¿ãŒã³ãã¡ã€ã«ãã®ãã®ã¯ããã¹ããã¡ã€ã«ã§ãæ¡åŒµåã¯.patã«ãªã£ãŠããŸããäžèº«ã¯? ãšããããšã§ãä»åå©çšããpic12f1822_fmaxã®åé ãã¡ãã£ãšæãåºããšList 1ã®æ§ã«ãªã£ãŠããŸãã
List 1:
Version 1.0;
MainPattern
{
CommonSection
{
Timing "CTLabTiming.Tim:CTLabTiming";
PinDescription "CTLabPins.pin";
Domain _CTLabDPINDomain
{
NOP {V{ALL_PINS=XXX1X0; TRIG_PIN=0;} W{ALL_PINS=TS2;TRIG_PIN=TS2;}}
IDXI 1 {V{ALL_PINS=XXX1X1;}}
IDXI 4 {V{ALL_PINS=XXX0X1;}} #5uS MCLR=LOW
IDXI 47 {V{ALL_PINS=XXX1X1;} W{ALL_PINS=TS1; TRIG_PIN=TS1; TRIG_PIN=TS1;}}
IDXI 3 {V{ALL_PINS=LLL1X1;} W{ALL_PINS=TS1;}} #1
IDXI 3 {V{ALL_PINS=LLL1X1;} W{ALL_PINS=TS1;}} #2
IDXI 3 {V{ALL_PINS=LLL1X1;} W{ALL_PINS=TS1;}} #3
IDXI 3 {V{ALL_PINS=LLL1X1;} W{ALL_PINS=TS1;}} #
æåã®10è¡ã»ã©ãé£ã°ããŠã次ã®
NOP {V{ALL_PINS=XXX1X0; TRIG_PIN=0;} W{ALL_PINS=TS2;TRIG_PIN=TS2;}}
ãšããè¡ãåãäžãããšããŸãå é ã®NOPã¯ãã¿ãŒã³ããŒã¢ããã¯ãšåŒã°ããäœãããããšããã³ãã³ãã§ããNOPã§ããã°ç¶ãè¡ã1åå®è¡ããããšã«ãªããŸããæ¬¡ã®V{}ã§å²ãŸããéšåãå€ã®èšå®ã§ããããã®æå®ã§ããã°
RA0/RA1/RA2/RA4 : äžå®(ãã§ãã¯ããªã)
RA3/TRIG_PIN : 1(High)ãå
¥å
RA5 : 0(Low)ãå
¥å
ãšããäºã«ãªããŸããæåŸã®W{}ã§å²ãŸããéšåã¯TimingSetã®æå®ã§ããã®å Žåã¯ALL_PINSãšTRIG_PINã®ã©ã¡ããTS2(ã€ãŸãPhoto13ã®ãPeriodã1ÎŒsã®æ¹)ã§åäœãã圢ã§ããã¡ãªã¿ã«ç¶ãè¡ã«ã¯æ«å°Ÿã« #ãã€ããŠãããã®ããããŸãããããã¯ã³ã¡ã³ãã§ãã
æåã«è¿°ã¹ããšãããããã¯åœç¶ãªããMCUäžã§åãããã°ã©ã ã®åäœãšåããã圢ã§èšè¿°ããå¿ èŠãããããã§ããããããã«MCUåŽã®ããã°ã©ã ãèšè¿°ãããšé£æºããŠèªåçã«ãã®ãã¿ãŒã³ãã¡ã€ã«ãçæããããšãããŸã§ã¯è¡ãã(ããããCTSã¯å¥ã«PIC12å°çšã§ãäœã§ããªãã®ã§ã飿ºãããããšããã®ãç¡çã§ã)ãæã§ãããèšè¿°ããããšã«ãªããŸãã
ã¡ãªã¿ã«ãã®èšè¿°ãããã¿ãŒã³ãã¡ã€ã«ã§ãããããããã¿ãŒã³ãªããžã§ã¯ããã¡ã€ã«ã«å€æŽããããã«ã¯Pattern Compilerãå¿ èŠã«ãªããŸããããã¯CloudTesting Labã®ãœãããŠã§ã¢ãã€ã³ã¹ããŒã«ãããšèªåçã«ã€ã³ã¹ããŒã«ãããŠããŸããäœ¿ãæ¹ã§ãããã¹ã¿ãŒãã¡ãã¥ãŒãããããåŒã³åºããš(Photo19)ãã³ã³ãœãŒã«ãç«ã¡äžãããŸã(Photo20)ããã®ã³ã³ãœãŒã«ã®äžã§ããã¿ãŒã³ãã¡ã€ã«ãä¿åããŠãããã©ã«ãã«ç§»åããŠããã
CTLab_patcom ãã¿ãŒã³ãã¡ã€ã«å
ãšæå®ããããšã§ããã¿ãŒã³ãã¡ã€ã«ããã¿ãŒã³ãªããžã§ã¯ããã¡ã€ã«ã«å€æŽã§ããŸããäžã§ãšã©ãŒãåºããã¿ãŒã³äŸã瀺ããŸããããããã¯å ã ã®ãã¿ãŒã³ãã¡ã€ã«ã®äžç®æã"L"ãã"H"ã«æžãæããŠã³ã³ãã€ã«ãçŽããŠæå®ãããã®ã§ãããããªå ·åã«ãæ¯èŒçç°¡åã«ãã¿ãŒã³ã®å€æŽãåºæ¥ãããã«ãªã£ãŠããŸãã
次åã¯ããããããã¹ãã®éèšãé£ç¶å®è¡ãªã©ã®æé ã«ã€ããŠã玹ä»ããããšæããŸãã


