Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4 | lvd | 1 | ╧юЁЄ√ єяЁртыхэш яюёыхфютрЄхы№э√ьш шэЄхЁЇхщёрьш. |
2 | |||
3 | ┬ NeoGS ёє∙хёЄтєхЄ ЄЁш яюёыхфютрЄхы№э√ї SPI-шэЄхЁЇхщёр фы ЁрсюЄ√ ё SD-ърЁЄющ, |
||
4 | фы єяЁртыхэш MP3-фхъюфхЁюь ш фы т√фрўш фрээ√ї т фхъюфхЁ. ╩рцф√щ шэЄхЁЇхщё |
||
5 | юсырфрхЄ ётюшьш ётющёЄтрьш, ъЁюьх Єюую, фы єяЁртыхэш MP3-фхъюфхЁюь |
||
6 | шёяюы№чє■Єё фюяюыэшЄхы№э√х (яю юЄэю°хэш■ ъ SPI-шэЄхЁЇхщёрь) ёшуэры√. |
||
7 | ─юяюыэшЄхы№э√х ёшуэры√, Ёртэю ъръ ш эхъюЄюЁ√х ётющёЄтр шэЄхЁЇхщёют |
||
8 | ъюэЄЁюышЁє■Єё ўхЁхч фтр яюЁЄр: SSTAT ш SCTRL. |
||
9 | |||
10 | ╧юЁЄ SSTAT (Єюы№ъю ўЄхэшх) ёыєцшЄ фы ўЄхэш ёюёЄю эш эхъюЄюЁ√ї ёшуэрыют, |
||
11 | шьх■∙шї юЄэю°хэшх ъ єёЄЁющёЄтрь ш SPI-шэЄхЁЇхщёрь ш ёюфхЁцшЄ т ёхсх сшЄ√ |
||
12 | B_MDDRQ, B_SDDET, B_SDWP ш B_MCRDY. ╫Єхэшх яюЁЄр тючтЁр∙рхЄ Єхъє∙хх |
||
13 | ёюёЄю эшх сшЄют. |
||
14 | |||
15 | ╧юЁЄ SCTRL (ўЄхэшх шыш чряшё№) ёыєцшЄ фы єяЁртыхэш эхъюЄюЁ√ьш ёшуэрырьш, |
||
16 | шьх■∙шьш юЄэю°хэшх ъ єёЄЁющёЄтрь ш SPI-шэЄхЁЇхщёрь ш ёюфхЁцшЄ т ёхсх сшЄ√ |
||
17 | B_SDNCS, B_MCNCS, B_MPXRS, B_MCSPD0, B_MCSPD1 ш B_MDHLF. ╫Єхэшх ¤Єюую яюЁЄр |
||
18 | тючтЁр∙рхЄ Єхъє∙хх ёюёЄю эшх сшЄют. ─ы шчьхэхэш цх ёюёЄю эш сшЄют |
||
19 | шёяюы№чєхЄё ёыхфє■∙р яЁюЎхфєЁр. |
||
20 | |||
21 | ─ы єёЄрэютъш ъръюую-ышсю юЄфхы№эюую сшЄр т 1 т яюЁЄ SCTRL чряшё√трхЄё |
||
22 | ўшёыю (1<<B_SETNCLR) + (1<<B_bit), уфх B_bit - юфшэ шч т√°хяхЁхўшёыхээ√ї сшЄют |
||
23 | яюЁЄр SCTRL, р B_SETNCLR - ёыєцхсэ√щ сшЄ ¤Єюую яюЁЄр. |
||
24 | |||
25 | ─ы єёЄртъш юЄфхы№эюую сшЄр т 0 т яюЁЄ чряшё√трхЄё ўшёыю |
||
26 | (0<<B_SETNCLR) + (1<<B_bit). |
||
27 | |||
28 | ╬фэютЁхьхээю яхЁхтхёЄш т 1 ышсю т 0 ьюцэю эхёъюы№ъю сшЄ, фы ўхую ёыхфєхЄ эрсЁрЄ№ |
||
29 | шї ьрёъє т чряшё√трхьюь ўшёых (ёь. яЁшьхЁ√). |
||
30 | |||
31 | ╥ръшь юсЁрчюь, ёюёЄю эшх сшЄр B_SETNCLR т чряшё√трхьюь ўшёых юяЁхфхы хЄ, т ъръюх |
||
32 | ёюёЄю эшх (0 шыш 1) єёЄрэртыштрхЄё ЄюЄ шыш шэющ сшЄ, т Єю тЁхь ъръ юёЄры№э√х |
||
33 | сшЄ√ чряшё√трхьюую ўшёыр т√сшЁр■Є сшЄ√ яюЁЄр, ъюЄюЁ√х ш ЄЁхсєхЄё єёЄрэютшЄ№ |
||
34 | т 0 ышсю т 1. |
||
35 | |||
36 | ╧ЁшьхЁ√: |
||
37 | |||
38 | ld A,(0<<B_SETNCLR) + (1<<B_MPXRS) ;єёЄрэютшЄ№ B_MPXRS т эюы№ |
||
39 | out (SCTRL),A |
||
40 | |||
41 | ld A,(1<<B_SETNCLR) + (1<<B_MDHLF) ;єёЄрэютшЄ№ B_MDHLF т хфшэшЎє |
||
42 | out (SCTRL),A |
||
43 | |||
44 | ld A,(1<<B_SETNCLR) + (1<<B_SDNCS) + (1<<B_MCNCS) ;єёЄрэютшЄ№ B_SDNCS ш B_MCNCS т хфшэшЎє |
||
45 | out (SCTRL),A |
||
46 | |||
47 | ld A,(0<<B_SETNCLR) + (1<<B_MCSPD1) + (1<<B_MCSPD0) ;ёэрўрыр юўшёЄшЄ№ сшЄ√ B_MCSPD1 ш B_MCSPD1 |
||
48 | out (SCTRL),A |
||
49 | ld A,(1<<B_SETNCLR) + (1<<B_MCSPD1) + (0<<B_MCSPD0) ;чрЄхь єёЄрэютшЄ№ шї т ёюёЄю эшх {B_MCSPD1,B_MCSPD0}={1,0} |
||
50 | out (SCTRL),A |
||
51 | |||
52 | ─рээр ёїхьр єяЁртыхэш сшЄрьш яючтюы хЄ єяЁрты Є№ Ёрчышўэ√ьш сшЄрьш шч Ёрчышўэ√ї чрфрў: |
||
53 | эряЁшьхЁ юёэютэющ ъюф ьюцхЄ єяЁрты Є№ сшЄюь B_MCNCS, т Єю тЁхь ъръ ъюф т яЁхЁ√трэшш ьюцхЄ |
||
54 | єяЁрты Є№ сшЄюь B_SDNCS. ╥ръ ъръ ърцфюх юЄфхы№эюх шчьхэхэшх сшЄют т яюЁЄє ты хЄё рЄюьрЁэ√ь |
||
55 | ш эх тыш хЄ эр фЁєушх сшЄ√ яюЁЄр, эх ЄЁхсєхЄё чряЁх∙рЄ№ яЁхЁ√трэш эр ьюьхэЄ√ шчьхэхэш сшЄют, |
||
56 | ўЄю яюЄЁхсютрыюё№ с√ яЁш ЄЁрфшЎшюээюь яюфїюфх (di:in A,(port):and MASK:or BITS:out (port),A:ei). |
||
57 | |||
58 | ╩юэъЁхЄэюх эрчэрўхэшх сшЄют т яюЁЄрї SCTRL ш SSTAT юяшёрэю эшцх т уыртрї *SPI-шэЄхЁЇхщё√*, |
||
59 | *╨рсюЄр ё SD-ърЁЄющ* ш *╨рсюЄр ё MP3-фхъюфхЁюь*. |
||
60 | |||
61 | |||
62 | SPI-шэЄхЁЇхщё√. |
||
63 | |||
64 | SPI-шэЄхЁЇхщё√ шёяюы№чє■Єё фы єяЁртыхэш ш юсьхэр фрээ√ьш ё SD-ърЁЄющ ш MP3-фхъюфхЁюь. |
||
65 | SPI-ьрёЄхЁ (ёїхьр, юёє∙хёЄты ■∙р ЄръЄшЁютрэшх эр SPI-°шэх) эрїюфшЄё т FPGA ш єяЁрты хЄё |
||
66 | яЁюЎхёёюЁюь Z80, SPI-ёыхщт (ёїхьр, ЄръЄшЁєхьр ьрёЄхЁюь) эрїюфшЄё т Єюь шыш шэюь єёЄЁющёЄтх. |
||
67 | |||
68 | ─рыхх яЁштюфшЄё юсюс∙╕ээюх юяшёрэшх SPI-шэЄхЁЇхщёр ё Єюўъш чЁхэш яЁюуЁрььшёЄр. ┬ NeoGS шёяюы№чєхЄё |
||
69 | ЄЁш ёяхЎшрышчшЁютрээ√ї SPI-шэЄхЁЇхщёр, юфшэ шч ъюЄюЁ√ї юсьхэштрхЄё фрээ√ьш ё SD-ърЁЄющ, фЁєующ - |
||
70 | ё єяЁрты ■∙шь ърэрыюь MP3-фхъюфхЁр, р яюёыхфэшщ - яюё√ырхЄ MP3-фрээ√х т фхъюфхЁ. ╩рцф√щ |
||
71 | шч эшї ьюцхЄ эх яюффхЁцштрЄ№ яюыэ√щ эрсюЁ ётющёЄт, яЁштхф╕ээ√ї т юсюс∙╕ээюь юяшёрэшш. |
||
72 | |||
73 | ╬сьхэ фрээ√ьш ўхЁхч SPI-шэЄхЁЇхщё яЁюшчтюфшЄё яюсрщЄэю. ┬ яЁюЎхёёх ърцфюую юсьхэр |
||
74 | ряярЁрЄэю яЁюшчтюфшЄё яхЁхфрўр срщЄр юЄ FPGA ъ єёЄЁющёЄтє ш юфэютЁхьхээю яЁш╕ь срщЄр |
||
75 | юЄ єёЄЁющёЄтр яю фтєэряЁртыхээющ яюёыхфютрЄхы№эющ SPI-°шэх. ▌Єр °шэр ёюёЄюшЄ шч ёшуэрыют |
||
76 | MOSI (т√їюф SPI-ьрёЄхЁр ш тїюф SPI-ёыхщтр, яюёыхфютрЄхы№эр яхЁхфрўр фрээ√ї юЄ ьрёЄхЁр ёыхщтє), |
||
77 | MISO (тїюф SPI-ьрёЄхЁр ш т√їюф SPI-ёыхщтр, яюёыхфютрЄхы№эр яхЁхфрўр фрээ√ї юЄ ёыхщтр ьрёЄхЁє) ш |
||
78 | SCK (т√їюф SPI-ьрёЄхЁр ш тїюф SPI-ёыхщтр, ёшуэры ёшэїЁюэшчрЎшш яхЁхфрўш). ╙яЁртыхэшх |
||
79 | т√°хюяшёрээ√ьш ёшуэрырьш юёє∙хёЄты хЄё яюыэюёЄ№■ ряярЁрЄэю, схч єўрёЄш яЁюЎхёёюЁр Z80. |
||
80 | |||
81 | ┬ чртшёшьюёЄш юЄ шёяюы№чєхьюую яЁюЄюъюыр ЁрсюЄ√ ё єёЄЁющёЄтюь, |
||
82 | чэрўхэшх ьюуєЄ шьхЄ№ юср срщЄр, яхЁхфрээ√ї т Ёрчэ√ї эряЁртыхэш ї, юфшэ шч эшї шыш |
||
83 | эш юфэюую (чэрўхэшх шьххЄ Єюы№ъю ёрь ЇръЄ юсьхэр). |
||
84 | |||
85 | SPI-шэЄхЁЇхщё ёюфхЁцшЄ Єръцх ёшуэры т√сюЁъш NCS. ╧ЁюЎхёё юсьхэр, ъръ яЁртшыю, т√уы фшЄ |
||
86 | ёыхфє■∙шь юсЁрчюь: яЁюЎхёёюЁ Z80 яхЁхтюфшЄ ёшуэры NCS шч эхръЄштэюую (=1) т ръЄштэюх (=0) |
||
87 | ёюёЄю эшх, фрыхх ёыхфєхЄ ёхЁш юсьхэют срщЄрьш, яюёых юъюэўрэш ъюЄюЁющ яЁюЎхёёюЁ |
||
88 | тючтЁр∙рхЄ ёшуэры NCS т эхръЄштэюх ёюёЄю эшх (=1). ┬ эхъюЄюЁ√ї ёыєўр ї ЄЁхсєхЄё |
||
89 | эрўшэрЄ№ юсьхэ яЁш эхръЄштэюь ёюёЄю эшш NCS, яЁш ¤Єюь, ъръ яЁртшыю, шьххЄ чэрўхэшх |
||
90 | ёрь ЇръЄ юсьхэр (эрышўшх ЄръЄшЁютрэш ёшуэрыюь SCK эр SPI-°шэх), т Єю тЁхь ъръ яхЁхфртрхь√х фрээ√х |
||
91 | шуэюЁшЁє■Єё юсюшьш єўрёЄэшърьш юсьхэр (ьрёЄхЁюь ш ёыхщтюь). |
||
92 | |||
93 | ╧ЁюЎхёё юсьхэр срщЄрьш яю SPI-°шэх шэшЎшшЁєхЄё яЁюЎхёёюЁюь Z80 яєЄ╕ь чряшёш срщЄр т яюЁЄ |
||
94 | _SEND. ╟ряшёрээ√щ срщЄ яхЁхфр╕Єё єёЄЁющёЄтє, т Єю тЁхь ъръ яЁшэ Є√щ т юсьхэх срщЄ ёюїЁрэ хЄё |
||
95 | т тЁхьхээюь ЁхушёЄЁх SPI-шэЄхЁЇхщёр. ╧юёых юъюэўрэш юсьхэр яЁшэ Є√щ срщЄ шч тЁхьхээюую ЁхушёЄЁр |
||
96 | ьюцэю ёўшЄрЄ№ шч яюЁЄр _READ. ╚ч яюЁЄр _RSTR ёўшЄ√трхЄё ЄюЄ цх срщЄ шч тЁхьхээюую ЁхушёЄЁр, |
||
97 | юфэръю ЇръЄ ўЄхэш ¤Єюую яюЁЄр Єръцх чряєёърхЄ юсьхэ яю SPI-°шэх ё яхЁхфртрхь√ь срщЄюь 0xFF. |
||
98 | ╥ръшь юсЁрчюь, ъюьрэф√ |
||
99 | in A,(_RSTR) |
||
100 | ld B,A |
||
101 | ¤ътштрыхэЄэ√ ё Єюўъш чЁхэш яхЁхфртрхь√ї яю SPI-°шэх фрээ√ї ъюьрэфрь |
||
102 | in A,(_READ) |
||
103 | ld B,A |
||
104 | ld A,0xFF |
||
105 | out (_SEND),A |
||
106 | |||
107 | ╧ЁюЎхёё срщЄютюую юсьхэр, шэшЎшшЁютрээ√щ чряшё№■ т яюЁЄ _SEND шыш ўЄхэшхь шч яюЁЄр _RSTR, чрэшьрхЄ |
||
108 | ъюэхўэюх тЁхь . SPI-шэЄхЁЇхщё√ ЄръЄшЁє■Єё ўрёЄюЄющ яЁюЎхёёюЁр Z80 Fcpu. ╬фэръю ёшуэры SCK, ты ё№ т√їюфюь |
||
109 | ёшэїЁюээющ ёїхь√ SPI-шэЄхЁЇхщёр, ьюцхЄ шьхЄ№ ўрёЄюЄ√ Fcpu/2, Fcpu/4, Fcpu/8 шыш Fcpu/16. ┬ NeoGS |
||
110 | эх яЁхфєёьюЄЁхэ ёшуэры /WAIT фы яЁюЎхёёюЁр Z80, ёыхфютрЄхы№эю ьхцфє яюёыхфютрЄхы№э√ьш шэшЎшшЁютрэш ьш |
||
111 | юсьхэр (чряшё№ т _SEND шыш ўЄхэшх _RSTR) фюыцэр яЁюуЁрььэю ЇюЁьшЁютрЄ№ё ярєчр т юяЁхфхы╕ээюх ўшёыю |
||
112 | ЄръЄют яЁюЎхёёюЁр Z80. ╩Ёюьх Єюую, ярєчр фюыцэр ёюсы■фрЄ№ё ьхцфє шэшЎшшЁютрэшхь юсьхэр ш ўЄхэшхь яЁшэ Єюую |
||
113 | срщЄр (ўЄхэшх _READ шыш _RSTR), р Єръцх ьхцфє шэшЎшшЁютрэшхь юсьхэр ш єёЄрэютъющ NCS т эхръЄштэюх ёюёЄю эшх. |
||
114 | ┬ SPI-шэЄхЁЇхщёх яЁхфєёьюЄЁхэ Єръцх сшЄ уюЄютэюёЄш RDY, ъюЄюЁ√щ єёЄрэртыштрхЄё т 0 ёЁрчє цх яюёых |
||
115 | шэшЎшшЁютрэш юсьхэр ш тючтЁр∙рхЄё т 1, ъръ Єюы№ъю юсьхэ чръюэўшыё . ─рээ√щ сшЄ шёяюы№чєхЄё , ъръ яЁртшыю, |
||
116 | т ёыєўрх эшчъшї ўрёЄюЄ ёшуэрыр SCK (эряЁшьхЁ, Fcpu/8 ш эшцх) фы єяЁю∙хэш яЁюЎхфєЁ юсьхэр. |
||
117 | |||
118 | -------------+------------------------------------+----------------------------------- |
||
119 | ╫рёЄюЄр SCK,| ╧рєчр ьхцфє шэшЎшшЁютрэш ьш юсьхэр | ╧рєчр ьхцфє шэшЎшшЁютрэшхь юсьхэр |
||
120 | Fsck | шыш ьхцфє шэшЎшшЁютрэшхь юсьхэр ш | ш ёэ Єшхь ръЄштэюую єЁютэ NCS, |
||
121 | | ўЄхэшхь яЁшэ Єюую срщЄр, ЄръЄ√ Z80 | ЄръЄ√ Z80 |
||
122 | -------------+------------------------------------+----------------------------------- |
||
123 | Fcpu/2 | 16 (шёяюы№чютрЄ№ RDY эх¤ЇЇхъЄштэю) | 18 (шёяюы№чютрЄ№ RDY эх¤ЇЇхъЄштэю) |
||
124 | Fcpu/4 | 34 шыш шёяюы№чєщЄх сшЄ RDY | 34 шыш шёяюы№чєщЄх сшЄ RDY |
||
125 | Fcpu/8 | шёяюы№чєщЄх сшЄ RDY | шёяюы№чєщЄх сшЄ RDY |
||
126 | Fcpu/16 | шёяюы№чєщЄх сшЄ RDY | шёяюы№чєщЄх сшЄ RDY |
||
127 | -------------+------------------------------------+----------------------------------- |
||
128 | |||
129 | ╧юф ёыютрьш "ярєчр ьхцфє шэшЎшшЁютрэшхь юсьхэр ш ўхь-ышсю" яюфЁрчєьхтрхЄё ъюышўхёЄтю |
||
130 | ЄръЄют Z80 ьхцфє эрўрыюь Ўшъыют ттюфр-т√тюфр, юёє∙хёЄты ■∙шї юяшёрээ√х фхщёЄтш . ╧ЁшьхЁ√: |
||
131 | |||
132 | ld C,_SEND |
||
133 | out (C),D |
||
134 | nop |
||
135 | out (C),E ; т√фхЁцрэр ярєчр 16 ЄръЄют, шёяюы№чєщЄх фы ЁрсюЄ√ эр Fsck=Fcpu/2 |
||
136 | |||
137 | ld C,_READ |
||
138 | out (_SEND),A |
||
139 | nop |
||
140 | in A,(C) ; т√фхЁцрэр ярєчр 16 ЄръЄют, шёяюы№чєщЄх фы ЁрсюЄ√ эр Fsck=Fcpu/2 |
||
141 | |||
142 | ld C,_SEND |
||
143 | ld HL,buffer |
||
144 | outi |
||
145 | outi ; т√фхЁцрэр ярєчр 16 ЄръЄют, шёяюы№чєщЄх фы ЁрсюЄ√ эр Fsck=Fcpu/2 |
||
146 | |||
147 | ld C,_RSTR |
||
148 | ld HL,buffer |
||
149 | ini |
||
150 | ini ; т√фхЁцрэр ярєчр 16 ЄръЄют, шёяюы№чєщЄх фы ЁрсюЄ√ эр Fsck=Fcpu/2 |
||
151 | |||
152 | ld C,_SEND |
||
153 | out (C),A |
||
154 | nop |
||
155 | in A,(_READ) ; ═┼┬┼╨═╬!!!! ярєчр ьхцфє Ўшъырьш ттюфр-т√тюфр ёюёЄрты хЄ 15 ЄръЄют!!!!!! |
||
156 | |||
157 | ╨рчышўэ√х SPI-шэЄхЁЇхщё√ ты ■Єё яюыэюёЄ№■ эхчртшёшь√ьш, ёюсы■фхэшх ярєч юЄэюёшЄё ъ яюёыхфютрЄхы№э√ь |
||
158 | юсЁр∙хэш ь ъ юфэюьє ш Єюьє цх шэЄхЁЇхщёє, эряЁшьхЁ: |
||
159 | |||
160 | ld C,SD_RSTR ;ўЄхэшх фрээ√ї ё SD-ърЁЄ√ ш эхьхфыхээр яхЁхё√ыър шї т MP3-фхъюфхЁ |
||
161 | in A,(C) ;яЁхфяюырурхЄё , ўЄю юср шэЄхЁЇхщёр ЁрсюЄр■Є эр Fsck=Fcpu/2 |
||
162 | out (MD_SEND),A ;шэЄхЁЇхщё√ эхчртшёшь√, эхьхфыхээр яхЁхё√ыър срщЄр |
||
163 | in A,(C) ;ьхцфє шэшЎшшЁютрэш ьш юсьхэр эр SPI-шэЄхЁЇхщёх SD-ърЁЄ√ ярєчр ёюёЄрты хЄ 23 ЄръЄр |
||
164 | out (MD_SEND),A ;ьхцфє шэшЎшшЁютрэш ьш юсьхэр эр SPI-шэЄхЁЇхщёх MP3-фхъюфхЁр ярєчр ёюёЄрты хЄ 23 ЄръЄр |
||
165 | |||
166 | |||
167 | SPI-шэЄхЁЇхщё SD-ърЁЄ√. |
||
168 | |||
169 | ╩ръ єяюьшэрыюё№ т√°х, ъюэъЁхЄэр ЁхрышчрЎш SPI-шэЄхЁЇхщёр эх юсырфрхЄ тёхьш ётющёЄтрьш юсюс∙╕ээюую юяшёрэш . |
||
170 | SPI-шэЄхЁЇхщё, шёяюы№чєхь√щ фы юсьхэр ё SD-ърЁЄющ, юсырфрхЄ ыш°№ ёыхфє■∙шьш ётющёЄтрьш. |
||
171 | |||
172 | ╧юЁЄ яюё√ыъш срщЄр ш шэшЎшшЁютрэш юсьхэр: SD_SEND |
||
173 | ╧юЁЄ ўЄхэш яЁшэ Єюую срщЄр: SD_READ |
||
174 | ╧юЁЄ ўЄхэш яЁшэ Єюую срщЄр ш шэшЎшшЁютрэш ёыхфє■∙хую юсьхэр ё яюё√ырхь√ь срщЄюь 0xFF: SD_RSTR |
||
175 | ┴шЄ єяЁртыхэш ёшуэрыюь NCS фы SD-ърЁЄ√, эрїюф ∙шщё т яюЁЄє SCTRL: B_SDNCS |
||
176 | |||
177 | ╫рёЄюЄр SCK ЇшъёшЁютрэр ш ёюёЄрты хЄ Fsck=Fcpu/2, сшЄ RDY юЄёєЄёЄтєхЄ, ёыхфютрЄхы№эю |
||
178 | ЄЁхсєхЄё яЁюуЁрььэюх ёюсы■фхэшх ярєч 16 шыш 18 ЄръЄют. |
||
179 | |||
180 | |||
181 | ╙яЁрты ■∙шщ SPI-шэЄхЁЇхщё MP3-фхъюфхЁр. |
||
182 | |||
183 | ▌ЄюЄ шэЄхЁЇхщё юсырфрхЄ ёыхфє■∙шьш ётющёЄтрьш. |
||
184 | |||
185 | ╧юЁЄ яюё√ыъш срщЄр ш шэшЎшшЁютрэш юсьхэр: MC_SEND |
||
186 | ╧юЁЄ ўЄхэш яЁшэ Єюую срщЄр: MC_READ |
||
187 | ╧юЁЄ ўЄхэш ш шэшЎшшЁютрэш юсьхэр юЄёєЄёЄтєхЄ. |
||
188 | |||
189 | ┴шЄ єяЁртыхэш ёшуэрыюь NCS фы MP3-фхъюфхЁр, эрїюф ∙шщё т яюЁЄє SCTRL: B_MCNCS |
||
190 | ┴шЄ уюЄютэюёЄш SPI-шэЄхЁЇхщёр т яюЁЄє SSTAT: B_MCRDY |
||
191 | |||
192 | ┬═╚╠└═╚┼! ╤ыхфєхЄ ў╕Єъю ЁрчышўрЄ№ сшЄ√ B_MCRDY ш B_MDDRQ т яюЁЄє SSTAT. |
||
193 | |||
194 | ┴шЄ B_MCRDY юЄэюёшЄё ъ єяЁрты ■∙хьє SPI-шэЄхЁЇхщёє MP3-фхъюфхЁр, юЄЁрцрхЄ ёюёЄю эшх |
||
195 | уюЄютэюёЄш шэЄхЁЇхщёр ш ухэхЁшЁєхЄё ёїхьющ ¤Єюую SPI-шэЄхЁЇхщёр т FPGA. |
||
196 | |||
197 | ┴шЄ B_MDDRQ юЄэюёшЄё ъ SPI-шэЄхЁЇхщёє MP3-фрээ√ї фхъюфхЁр, ш юЄЁрцрхЄ уюЄютэюёЄ№ |
||
198 | фхъюфхЁр яЁшэ Є№ юўхЁхфэющ сыюъ фрээ√ї яю ¤Єюьє шэЄхЁЇхщёє. ╤шуэры ухэхЁшЁєхЄё фхъюфхЁюь |
||
199 | ш яЁюёЄю ЄЁрэёышЁєхЄё FPGA ё т√їюфр фхъюфхЁр т сшЄ яюЁЄр SSTAT. |
||
200 | |||
201 | ┴шЄ√ єёЄрэютъш ўрёЄюЄ√ Fsck єяЁрты ■∙хую шэЄхЁЇхщёр MP3-фхъюфхЁр B_MCSPD0 ш B_MCSPD1 т яюЁЄє SCTRL. |
||
202 | |||
203 | ---------------------+--------- |
||
204 | {B_MCSPD1,B_MCSPD0} | Fsck |
||
205 | ---------------------+--------- |
||
206 | {0,0} | Fcpu/2 |
||
207 | {0,1} | Fcpu/4 |
||
208 | {1,0} | Fcpu/8 |
||
209 | {1,1} | Fcpu/16 |
||
210 | ---------------------+--------- |
||
211 | |||
212 | |||
213 | SPI-шэЄхЁЇхщё MP3-фрээ√ї фхъюфхЁр. |
||
214 | |||
215 | ╧юЁЄ яюё√ыъш срщЄр ш шэшЎшшЁютрэш юсьхэр MD_SEND |
||
216 | ╧юЁЄ ўЄхэш яЁшэ Єюую срщЄр - юЄёєЄёЄтєхЄ. |
||
217 | ╧юЁЄ ўЄхэш ш шэшЎшшЁютрэш - юЄёєЄёЄтєхЄ. |
||
218 | |||
219 | ёшуэры NCS ш єяЁртыхэшх шь - юЄёєёЄтєхЄ. |
||
220 | ┴шЄ уюЄютэюёЄш шэЄхЁЇхщёр - юЄёєЄёЄтєхЄ (ёыхфєхЄ ёюсы■фрЄ№ ярєч√ яЁюуЁрььэю). |
||
221 | |||
222 | ┴шЄ єёЄрэютъш ўрёЄюЄ√ Fsck шэЄхЁЇхщёр фрээ√ї B_MDHLF т яюЁЄє SCTRL: |
||
223 | |||
224 | ---------+-------- |
||
225 | B_MDHLF | Fsck |
||
226 | ---------+-------- |
||
227 | |||
228 | 1 | Fcpu/4 |
||
229 | ---------+-------- |
||
230 | |||
231 | ╫рёЄюЄ√ Fcpu/8 ш Fcpu/16 эх яюффхЁцштр■Єё . |
||
232 | |||
233 | |||
234 | ╨рсюЄр ё SD-ърЁЄющ. |
||
235 | |||
236 | ─ы ЁрсюЄ√ ё SD-ърЁЄющ шёяюы№чєхЄё ряярЁрЄэ√щ SPI-шэЄхЁЇхщё, юяшёрэшх ъюЄюЁюую эрїюфшЄё т уыртх *SPI-шэЄхЁЇхщё√* |
||
237 | |||
238 | ╩Ёюьх фрээюую шэЄхЁЇхщёр яЁхфєёьюЄЁхэ√ Єръцх сшЄ√ B_SDDET ш B_SDWP т яюЁЄє SSTAT. |
||
239 | B_SDDET Ёртхэ эєы■ (???) яЁш эрышўшш ърЁЄ√ т ёыюЄх, шэрўх хфшэшЎр |
||
240 | B_SDWP Ёртхэ эєы■ (???) яЁш єёЄрэютыхээющ эр ърЁЄх чр∙шЄх чряшёш (яЁш яюью∙ш Їырцър эр ъюЁяєёх ърЁЄ√), шэрўх хфшэшЎр. |
||
241 | |||
242 | ┬═╚╠└═╚┼! юср ёшуэрыр ухэхЁ Єё ьхїрэшўхёъшьш ъюэЄръЄрьш т ёыюЄх SD-ърЁЄ√, ёыхфютрЄхы№эю шьх■Є фЁхсхчу. |
||
243 | ╩юэЄръЄ√ Єръцх ьюуєЄ эрЁє°рЄ№ё (эряЁшьхЁ, хёыш ьхёЄю ъюэЄръЄр чруЁ чэхэю), ш ъръ ёыхфёЄтшх, ьюуєЄ |
||
244 | т√фртрЄ№ ыюцэ√х яюърчрэш (хфшэшЎр, ъюуфр фюыцхэ с√Є№ эєы№). |
||
245 | ╘ырцюъ чр∙шЄ√ юЄ чряшёш эшъръ эх ёт чрэ ¤ыхъЄЁшўхёъш ё ¤ыхъЄЁюэшъющ SD-ърЁЄ√, ёыхфютрЄхы№эю чряшё√трЄ№ эр |
||
246 | ърЁЄє ьюцэю ш яЁш ёюёЄю эшш ёшуэрыр B_SDWP=0. └эрыюушхщ ты хЄё Їырцюъ чр∙шЄ√ юЄ чряшёш эр ушсъшї ьруэшЄэ√ї |
||
247 | фшёърї - юфэръю юэ, т юЄышўшх юЄ B_SDWP шёяюы№чєхЄё ряярЁрЄэю т ъюэЄЁюыыхЁх фшёъютюфр ш ёрьюь фшёъютюфх. |
||
248 | ╩Ёюьх Єюую, эр яырЄрї NeoGS rev.A ёшуэры B_SDDET яютЄюЁ хЄ ёюёЄю эшх ётхЄюфшюфр (уюЁшЄ - 0, эх уюЁшЄ - 1). |
||
249 | ═р яырЄрї NeoGS rev.B юэ юяЁхфхы хЄё ъюэЄръЄрьш эр ёыюЄх SD-ърЁЄ√. |
||
250 | |||
251 | ═х ЁхъюьхэфєхЄё шёяюы№чютрЄ№ фрээ√х ёшуэры√ т яЁюуЁрььрї. ═рышўшх т ёыюЄх SD-ърЁЄ√ ёыхфєхЄ юяЁхфхы Є№ |
||
252 | яЁюуЁрььэю (єфр╕Єё ыш яЁютхёЄш шэшЎшрышчрЎш■ ърЁЄ√ чр ъюэхўэюх тЁхь ). |
||
253 | |||
254 | ╧ЁюЄюъюы√ яЁюуЁрььэюую юсьхэр ё ърЁЄющ ёыхфєхЄ шёърЄ№ т ёЄрэфрЁЄрї эр SD-ърЁЄ√. |
||
255 | |||
256 | ╫рёЄюЄр яЁюЎхёёюЁр т NeoGS трЁ№шЁєхЄё юЄ 10 фю 24 ╠├Ў, ёыхфютрЄхы№эю, ўрёЄюЄр Fsck шчьхэ хЄё |
||
257 | юЄ 5 фю 12 ╠├Ў, ўЄю ыхцшЄ т яЁхфхырї ёяхЎшЇшърЎшщ SD-ърЁЄ эр ¤Єє ўрёЄюЄє (эх сюыхх 25 ╠├Ў). |
||
258 | |||
259 | ╧юЁЄ SD_RSTR, ъюЄюЁ√щ т√фр╕Є яЁхф√фє∙шщ яЁшэ Є√щ срщЄ ш шэшЎшшЁєхЄ юсьхэ ё яхЁхфртрхь√ь срщЄюь 0xFF, |
||
260 | ьюцхЄ шёяюы№чютрЄ№ё фы тёхї ёЎхэрЁшхт юсьхэр фрээ√ьш ш ъюьрэфрьш ё SD-ърЁЄющ яю рэрыюушш ЁрсюЄ√ ё |
||
261 | шэЄхЁЇхщёюь SD-ърЁЄ√ т Z-controller'х, ёыхфєхЄ ыш°№ яюьэшЄ№ яЁю яЁюуЁрььэ√х ярєч√ 16 шыш 18 ЄръЄют. |
||
262 | |||
263 | |||
264 | ╨рсюЄр ё MP3-фхъюфхЁюь. |
||
265 | |||
266 | ╧юьшью фтєї SPI-шэЄхЁЇхщёют (ёь. уыртє *SPI-шэЄхЁЇхщё√*), фы єяЁртыхэш фхъюфхЁюь шёяюы№чє■Єё |
||
267 | ёыхфє■∙шх ёшуэры√: |
||
268 | |||
269 | ёшуэры т фхъюфхЁ, єяЁрты хь√щ сшЄюь B_MPXRS т яюЁЄє SCTRL - ряярЁрЄэ√щ ёсЁюё фхъюфхЁр ъюуфр сшЄ т эєых, |
||
270 | эюЁьры№эр ЁрсюЄр ъюуфр сшЄ т хфшэшЎх. |
||
271 | |||
272 | ёшуэры ё фхъюфхЁр, ёюёЄю эшх ъюЄюЁюую юЄЁрцрхЄё т сшЄх B_MDDRQ яюЁЄр SSTAT - уюЄютэюёЄ№ яЁш╕ьр яюЁЎшш |
||
273 | MP3-фрээ√ї ўхЁхч ёююЄтхЄёЄтє■∙шщ SPI-шэЄхЁЇхщё (MD_SEND). |
||
274 | |||
275 | ┬ NeoGS шёяюы№чє■Єё MP3-фхъюфхЁ√ фтєї Єшяют: MA8201 ш MA8201A, ъюЄюЁ√х ты ■Єё рэрыюурьш, ёююЄтхЄёЄтхээю, |
||
276 | фхъюфхЁют VS1001 ш VS1011 ЇшЁь√ VLSI Solutions Oy (http://www.vlsi.fi). ╧юфЁюсэ√х юяшёрэш ш яЁшэЎшя√ ЁрсюЄ√ |
||
277 | ёыхфєхЄ шёърЄ№ т фрЄр°шЄрї (datasheets) ш ряяэюЄрї (application notes) эр ьшъЁюёїхь√ ЇшЁь√ VLSI Solutions Oy |
||
278 | эр шї шэЄхЁэхЄ-ёрщЄх. ─ры№эхщ°хх юсёєцфхэшх MP3-фхъюфхЁют т фрээюь ЁєъютюфёЄтх яюфЁрчєьхтрхЄ яЁхфтрЁшЄхы№эюх |
||
279 | ючэръюьыхэшх ўшЄрЄхы ё єърчрээ√ьш фюъєьхэЄрьш. |
||
280 | |||
281 | ╟фхё№ яЁштхфхэ√ ыш°№ юёюсю ёє∙хёЄтхээ√х чрьхўрэш . |
||
282 | |||
283 | 1. ─хъюфхЁ√ ЄръЄшЁє■Єё ътрЁЎхт√ь ЁхчюэрЄюЁюь 14 ╠├Ў, ўЄю ты хЄё эхсюы№°шь яЁхт√°хэшхь |
||
284 | юЇшЎшры№эющ ьръёшьры№эющ ўрёЄюЄ√ ёюуырёэю фрЄр°шЄрь. ─ы эюЁьры№эющ ЁрсюЄ√ (фхъюфшЁютрэшх |
||
285 | MP3-Їрщыют ё ы■с√ь сшЄЁхщЄюь) ёыхфєхЄ ╬┴▀╟└╥┼╦▄═╬ шёяюы№чютрЄ№ тэєЄЁхээхх єфтюхэшх ЄръЄютющ |
||
286 | ўрёЄюЄ√, яЁхфєёьюЄЁхээюх т фхъюфхЁрї (Ёрсюўр ўрёЄюЄр 28 ╠├Ў). |
||
287 | |||
288 | 2. ╠ръёшьры№э√х ўрёЄюЄ√ Fsck фы юсюшї SPI-шэЄхЁЇхщёют фхъюфхЁр юуЁрэшўхэ√ ёыхфє■∙шьш тхышўшэрьш. |
||
289 | ╧Ёш яхЁхфрўх срщЄют яю єяЁрты ■∙хьє шэЄхЁЇхщёє (ёюфхЁцшьюх MC_READ эх шёяюы№чєхЄё ), |
||
290 | Ёртэю ъръ ш яю шэЄхЁЇхщёє MP3-фрээ√ї ўрёЄюЄр ёшуэрыр SCK ёююЄтхЄётє■°хую шэЄхЁЇхщёр Fsck < Fdec/4, |
||
291 | уфх Fdec - ўрёЄюЄр, эр ъюЄюЁющ ЁрсюЄрхЄ фхъюфхЁ (Fdec=14 ╠├Ў, хёыш тэєЄЁхээхх єфтюхэшх т√ъы■ўхэю, |
||
292 | шыш Fdec=28 ╠├Ў т яЁюЄштэюь ёыєўрх). |
||
293 | |||
294 | ╧Ёш яЁш╕ьх срщЄют яю єяЁрты ■∙хьє шэЄхЁЇхщёє (ёюфхЁцшьюх MC_READ шёяюы№чєхЄё ) Fsck < Fdec/6. |
||
295 | |||
296 | ┬ юсюшї ёыєўр ї ёыхфєхЄ єўшЄ√трЄ№ Єхъє∙є■ ўрёЄюЄє яЁюЎхёёюЁр Z80, ёюёЄю эшх сшЄют, чрфр■∙шї |
||
297 | Fsck ърцфюую шэЄхЁЇхщёр (B_MCSPD1,B_MCSPD0,B_MDHLF) ш Єю, тъы■ўхэю ыш тэєЄЁхээхх єфтюхэшх |
||
298 | ЄръЄютющ ўрёЄюЄ√ фхъюфхЁр шыш т√ъы■ўхэю. |
||
299 | |||
300 | 3. ╧юёых ряярЁрЄэюую шыш яЁюуЁрььэюую ёсЁюёр тэєЄЁхээхх єфтюхэшх юърч√трхЄё т√ъы■ўхээ√ь. |
||
301 | ╤ыхфєхЄ хую тъы■ўшЄ№, яЁюЎхфєЁр тъы■ўхэш юЄышўрхЄё фы Ёрчэ√ї (VS1001 ш VS1011) фхъюфхЁют. |
||
302 | ┬ ёыєўрх VS1001 яюёых єёЄрэютъш ЁхушёЄЁр CLOCKF ёыхфєхЄ чряшёрЄ№ ъюэёЄрэЄє 0x8008 т эхфюъєьхэЄшЁютрээ√щ |
||
303 | ЁхушёЄЁ INT_FCNTLH (ёь. ряяэюЄ vs10XXan.pdf). ┬ ёыєўрх VS1011 эр ьхёЄх ЁхушёЄЁр INT_FCNTLH юърч√трхЄё |
||
304 | фЁєующ яю ЇєэъЎшш ЁхушёЄЁ ш чряшё№ т эхую яЁюшчтюфшЄ№ эх ЄЁхсєхЄё , р фы тъы■ўхэш єфтюшЄхы ЄЁхсєхЄё |
||
305 | чряшёрЄ№ чэрўхэшх ўрёЄюЄ√ фшёъЁхЄшчрЎшш (ы■сюх яЁшьхэшьюх) т ЁхушёЄЁ AUDATA (ёь. ряяэюЄ vs10XXan.pdf). |
||
306 | ┬ фры№эхщ°хь ръЄєры№эюх чэрўхэшх ўрёЄюЄ√ фшёъЁхЄшчрЎшш єёЄрэютшЄё ртЄюьрЄшўхёъш. ┬ юсюшї ёыєўр ї ъюэёЄрэЄр, |
||
307 | чряшё√трхьр т ЁхушёЄЁ CLOCKF, юёЄр╕Єё эхшчьхээющ (0x9B58). |
||
308 | |||
309 | 4. фы юяЁхфхыхэш Єшяр фхъюфхЁр (VS1001 шыш VS1011) ёыхфєхЄ яЁюўшЄрЄ№ ЁхушёЄЁ STATUS ш чруы эєЄ№ |
||
310 | т сшЄ√ 7:4 ¤Єюую ЁхушёЄЁр. ╥ръ ъръ юяЁхфхы Є№ Єшя фхъюфхЁр ЄЁхсєхЄё фю тъы■ўхэш єфтюшЄхы (яєэъЄ 3), |
||
311 | ёыхфєхЄ юёюсю тэшьрЄхы№эю юЄэхёЄшё№ ъ яєэъЄє 2: Fdec/6 т ¤Єюь ёыєўрх ёюёЄртшЄ 2.3 ╠├Ў, ш Fsck |
||
312 | фы ъюЁЁхъЄэюую ўЄхэш эх фюыцэр с√Є№ сюыхх ¤Єюую чэрўхэш (ёь. уыртє *SPI-шэЄхЁЇхщё√*). |
||
313 | |||
314 | 5. ╧Ёш яЁюшуЁ√трэшш эхъюЁЁхъЄэюую шыш шёяюЁўхээюую MP3-Їрщыр, тёыхфёЄтшх ¤ыхъЄЁюьруэшЄэ√ї яюьхї ш Є.ф. |
||
315 | фхъюфхЁ ьюцхЄ чртшёэєЄ№: яЁш ¤Єюь, ъръ яЁртшыю, яЁюшуЁ√трэшх чтєър яЁхъЁр∙рхЄё , р ёў╕Єўшъ тЁхьхэш |
||
316 | яЁюшуЁ√трэш (ЁхушёЄЁ DECODE_TIME) эх шэъЁхьхэЄшЁєхЄё . ╥ръцх яЁшчэръюь чртшёрэш ты хЄё ўхЁхёўєЁ |
||
317 | эшчър шыш ўхЁхcўєЁ т√ёюър ёъюЁюёЄ№ яюЄЁхсыхэш фхъюфхЁюь MP3-фрээ√ї (ёь. ряяэюЄ vs10XXan.pdf). |
||
318 | ╧Ёш юсэрЁєцхэшш чртшёрэш эхюсїюфшью т√яюыэшЄ№ яЁюуЁрььэ√щ ёсЁюё, яютЄюЁшЄ№ яЁюЎхфєЁє шэшЎшрышчрЎшш |
||
319 | ш тэют№ юсЁрЄшЄ№ тэшьрэшх эр яЁшчэръш чртшёрэш . ┬ ёыєўрх, хёыш фхъюфхЁ эх 'юЄтшё', эхюсїюфшью |
||
320 | яЁютхёЄш ряярЄрЄэ√щ ёсЁюё (сшЄ B_MPXRS т яюЁЄє SCTRL). |
||
321 | |||
322 | ├Ёєс√щ чрьхЁ ёъюЁюёЄш яюЄЁхсыхэш фхъюфхЁюь MP3-фрээ√ї ьюцэю яЁютхёЄш, шёяюы№чє ъръ ЁхяхЁ |
||
323 | чтєъют√х яЁхЁ√трэш NeoGS, ёыхфє■∙шх ё ўрёЄюЄющ 37500 ├Ў эхчртшёшью юЄ ўрёЄюЄ√ яЁюЎхёёюЁр Z80. |
||
324 | |||
325 | 6. ╧юёых юъюэўрэш фрээ√ї т MP3-Їрщых ЁхъюьхэфєхЄё т√фрЄ№ т фхъюфхЁ 2048 срщЄ эєыхщ (B_MDDRQ, MD_SEND), |
||
326 | яюёых ўхую фы эрўрыр фхъюфшЁютрэш ёыхфє■∙хую Їрщыр эхюсїюфшью яЁютхёЄш яЁюуЁрььэ√щ ёсЁюё. |
||
327 | ╧Ёшьхэ Є№ тьхёЄю эхую ряярЁрЄэ√щ ёсЁюё эх ЁхъюьхэфєхЄё , Єръ ъръ яЁш ¤Єюь тючэшър■Є ∙хыўъш |
||
328 | т чтєъютюь ЄЁръЄх фхъюфхЁр. |
||
329 | |||
330 | 7. ╤ыхфєхЄ юЄьхЄшЄ№, ўЄю єяЁртыхэшх Ёхцшьрьш bass/treble ш surround т юсюшї Єшярї фхъюфхЁют |
||
331 | ёє∙хёЄтхээю ЁрчышўрхЄё . |
||
332 | |||
333 | 8. ┬ фхъюфхЁх VS1011 яЁхфєёьюЄЁхэю эхёъюы№ъю Ёхцшьют яюё√ыъш MP3-фрээ√ї. ╤ыхфєхЄ шёяюы№чютрЄ№ ыш°№ |
||
334 | єёЄрэютыхээ√щ яю єьюыўрэш■ яюёых ёсЁюёр Ёхцшь ёютьхёЄшьюёЄш ё фхъюфхЁюь VS1001 ё єўрёЄшхь ёшуэрыр |
||
335 | сшЄютющ ёшэїЁюэшчрЎшш BSYNC. ╤шуэры BSYNC ухэхЁшЁєхЄё ряярЁрЄэю ёїхьющ SPI-шэЄхЁЇхщёр фы |
||
336 | MP3-фрээ√ї т FPGA ш тэшьрэш ъ ёхсх ёю ёЄюЁюэ√ яЁюуЁрьь√ Z80 эх ЄЁхсєхЄ. |
||
337 |