Rejea post #46 juu ya kuunda music system kwa gharama nafuu kwa kutumia PT2313 Audio processor. Japo ni kazi ngumu sana ku-interface MCU na PT2313, nimejitahidi kujifunza jinsi ya kuunganisha kwa kuangalia hardware architecture ya PT2313 kwa kuangalia datasheet yake.
Imebibdi nitumie PT2313 badala ya Digital potentiometer kwa kuwa zinapatikana kwa urahisi madukani na kwa bei ndogo, kuliko kutumia digital potentiometer ambayo itakuwa demo tu na haiuziki kwa ajili ya ughali wake.
Tafadhali kama unataka kujifunza jinsi ya kutumia PT2313,angalia datasheet yake kwenye attachment.
Kuhusu suala la ku-copy firmware kwenye I2C ambayo inasemekana ni programmable IC,haitawezekana. I2C siyo programmable IC kama inavyosemekana, ila ni communication protocol inayowezesha IC zaidi ya moja kuwasiliana kwa kutumia waya mbili tu, yaani SDA na SCL.
Baadhi ya wadau wanachanganya I2C na EEPROM ambazo pia zinatumia hiyo communication protocol ya I2C. Kazi ya EEPROM ni kutunza settings na variables ambazo zinabadilika wakati wa matumizi ya kifaa.
Mfano upande wa TV, unavyo-set volume,channel rangi etc, utakavyozima,TV itawaka kwa setting ulizo-set kabla ya kuzima. Ukisema u-copy contents za EEPROM, una-copy settings na user data wala si firmware ambayo siku zote huwa kwenye ROM ya microcontroller.
Rejea post #46 juu ya kuunda music system kwa gharama nafuu kwa kutumia PT2313 Audio processor. Japo ni kazi ngumu sana ku-interface MCU na PT2313, nimejitahidi kujifunza jinsi ya kuunganisha kwa kuangalia hardware architecture ya PT2313 kwa kuangalia datasheet yake.
Imebibdi nitumie PT2313 badala ya Digital potentiometer kwa kuwa zinapatikana kwa urahisi madukani na kwa bei ndogo, kuliko kutumia digital potentiometer ambayo itakuwa demo tu na haiuziki kwa ajili ya ughali wake.
Tafadhali kama unataka kujifunza jinsi ya kutumia PT2313,angalia datasheet yake kwenye attachment.
Kuhusu suala la ku-copy firmware kwenye I2C ambayo inasemekana ni programmable IC,haitawezekana. I2C siyo programmable IC kama inavyosemekana, ila ni communication protocol inayowezesha IC zaidi ya moja kuwasiliana kwa kutumia waya mbili tu, yaani SDA na SCL.
Baadhi ya wadau wanachanganya I2C na EEPROM ambazo pia zinatumia hiyo communication protocol ya I2C. Kazi ya EEPROM ni kutunza settings na variables ambazo zinabadilika wakati wa matumizi ya kifaa.
Mfano upande wa TV, unavyo-set volume,channel rangi etc, utakavyozima,TV itawaka kwa setting ulizo-set kabla ya kuzima. Ukisema u-copy contents za EEPROM, una-copy settings na user data wala si firmware ambayo siku zote huwa kwenye ROM ya microcontroller.
apo nimekupata mkuu, maana kuna mtaalamu aliniambia 24c02 unaweza tumia copier alafu ukacopy contents za kwenye hiyo EEPROM na kwenda nyingine. Lakin sijafuatilia.
Kitu ambacho nimeona mchina anakifanya siku hiz, anatumia ule upande wa USB system kama ndo controler ya kila kitu ktk redio, mfano upande wa usb ndio wameweka fm radio, kwaiyo utacontrol upande huo.
Na muda mungine wanaweka LCD display inakuwa controled na procossor ya kwenye USB. Ila mimi ningependa kama na sisi tungeweza kuunda kama wao
apo nimekupata mkuu, maana kuna mtaalamu aliniambia 24c02 unaweza tumia copier alafu ukacopy contents za kwenye hiyo EEPROM na kwenda nyingine.
Lakin sijafuatilia. Kitu ambacho nimeona mchina anakifanya siku hiz, anatumia ule upande wa USB system kama ndo controler ya kila kitu ktk redio,
mfano upande wa usb ndio wameweka fm radio, kwaiyo utacontrol upande huo. Na muda mungine wanaweka LCD display inakuwa controled na procossor ya kwenye USB. Ila mimi ningependa kama na sisi tungeweza kuunda kama wao
Ndiyo, unaweza ku-copy contents za EEPROM kwa copier lakini huwezi kuzitumia kuendesha MCU au microprocessor maana hazina instructions za jinsi ya kuendesha MCU,bali ni firmware iliyoko ndani ya ROM ya MCU ndiyo yenye uwezo wa kufanya hayo.
Hii firmware huwa imechomwa kwenye hiyo ROM ya MCU na kui-copy kama code protection fuse iko enabled, ni vigumu, ingawaje inategemeana na uwezo wa MCU code protection.
Kwa PIC MCU,ukilazimisha ku-copy firmware, ROM inafuta firmware na inakuwa tupu hadi ui-program upya, na firmware huna,hivyo kifaa chako original kinakuwa useless.
I2C siyo EEPROM kama 24C02 kama ulivyoelekezwa. I2C ni communication protocol wakati 24C02 ni hardware inayotumia I2C communication protocol kuwasiliana na hardware zingine ndani ya device moja
Ndiyo, unaweza ku-copy contents za EEPROM kwa copier lakini huwezi kuzitumia kuendesha MCU au microprocessor maana hazina instructions za jinsi ya kuendesha MCU,bali ni firmware iliyoko ndani ya ROM ya MCU ndiyo yenye uwezo wa kufanya hayo.
Hii firmware huwa imechomwa kwenye hiyo ROM ya MCU na kui-copy kama code protection fuse iko enabled, ni vigumu, ingawaje inategemeana na uwezo wa MCU code protection. Kwa PIC MCU,ukilazimisha ku-copy firmware,ROM inafuta firmware na inakuwa tupu hadi ui-program upya, na firmware huna,hivyo kifaa chako original kinakuwa useless.
I2C siyo EEPROM kama 24C02 kama ulivyoelekezwa. I2C ni communication protocol wakati 24C02 ni hardware inayotumia I2C communication protocol kuwasiliana na hardware zingine ndani ya device moja
Kwenye hiyo MP3 player module yenye SD slot na USB port sidhani kama ina features za ku-set aina ya sauti unayoitaka kama kwenye Subwoofer System, bali inakuwa na input multiplexer kwa ajili yaku-switch input unayoitaka.
Kutokana na hilo ndo maana hiyo module inakuwa embedded kwenye subwoofer nyingi na haijitegemei.
Kwa upande wa kuunda vifaa vyetu kama wafanyavyo watu weupe, ni suala la sisi kukaza msuli kwenye kujifunza namna ya kuunda vyetu ili ndoto zetu zitimie.
Soma datasheet ya PT2313 ili upate picha jinsi I2C communication protocol inavyofanya kazi na wala si EEPROM kama baadhi ya watu wanavyodhani.
Mkuu, hapo inabidi ujifunze jinsi I2C inavyofanya kazi.
I2C ,IIC au I[SUP]2[/SUP]C ni kifupi cha Inter Integrated Circuits, ambayo ni communication protocol inayowezesha IC zaidi ya moja kwenye kifaa cha electronic kuwasiliana kwa kutumia bus ya waya mbili tu. Yaani Serial Clock (SCL) na Serial Data (SDA).
Mojawapo ya hizo IC lazima iwe Master na nyingine Slave.
Kunaweza kuwepo master moja na slave moja au nyingi, wakati mwingine master nyingi ambazo ni moja tu inaruhusiwa kuwa master kwa wakati mmoja na zingine huwa slave.
Master ni lazima iwe MCU/microprocessor na slave iwe IC nyingine tofauti na MCU eg 24C04 etc.
SDA husafirisha data kwenda na kutoka kwenye master au slave.
SCL husafirisha clock pulses kutoka kwenye master kwenda slave kwa ajili ya kuoanisha(synchronize) usafirishaji wa data kwenye I2C bus.
Master ina sifa zifuatazo: · Inasimamia mawasiliano yote ya I2C · Inazalisha clock pulses ambazo hutumika kuoanisha(synchronize) usafirishaji wa data kwenye I2C bus. · Inaanzisha mawasiliano ya I2C kwenda kwenye slave mara tu kifaa kinavyowashwa.
Slave ina sifa zifuatazo: · Haina uwezo wa kusimamia mawasiliano ya I2C. · Inapokea clock pulses kutoka kutoka kwa master(haizalishi). · Inapokea mawasiliano kutoka kwa master mara tu kifaa kinavyowashwa.
I2C INAVYOFANYA KAZI
Kila data inayosafirishwa kwenye SDA inakuwa na bits 8 (1 Byte) na nyingine ya ti1a kwa ajili ya mrejesho(acknowledgement).
MSB LSB
Figure 1
Kawaida Most Significant Bits(MSB) huanza kusafirishwa na kufuatiwa na Least Significant Bits(LSB) kama ilivyoonyeshwa kwa namba hapo juu.
Uwiano kati ya SDA na SCL ni huu:
Figure 2
DATA VALIDITY
Data inakuwa valid tu pale Clock pulse inapokuwa HIGH
Data inakubalika kubadili state yake kutoka High kwenda Low vice-versa pale tu clock pulse inapokuwa LOW.
HIGH namaanisha 1 au ON kwa state au 5V kwa voltage.
LOW namaanisha 0 au OFF kwa state au 0V kwa voltage
· SDA inabadilika kutoka HIGH kuwa LOW
STOP condition inatokea tu iwapo: · SCL pulse iko HIGH · SDA inabadilika kutoka LOW kuwa HIGH
Rejea mchoro hapo chini jinsi START na STOP conditions zinavyotokea.
Figure 4
Kila bit 8(1Byte) za data zinavyotumwa,kutoka kwenye master kwenda kwenye slave, au kutoka kwenye slave kwenda kwa master, lazima mpokeaji master au slave atoe mrejesho kuwa byte moja imepokelewa(ACK) au acknowledgement kwa kirefu.
Hii hutokea kila pulse ya tisa ya SCL ambayo huwa LOW kwa upande wa SDA. Yaani ili mtumaji wa data ajue kama Byte yote imepokelewa,mpokeaji hujibu kwa kushusha data ya 9 ya SDA kuwa LOW au 0 wakati SCL nayo ikiwa kwenye pulse ya 9.
Rejea Figure 2 kwa ufafanuzi, pia Figure 5 hapa chini kwa ufafanuzi zaidi.
Figure 5
NB: Image iliyoko hapo juu ikiwa na maandishi FIGURE 1, isikuchanganye, kwani nimeipa jina Figure 5 nimeinakili sehemu baada ya kuona kazi ngumu kuichora.
Ili mawasiliano yawepo, lazima kila slave IC iwe na address kwa ajili ya utambulisho ili ikiitwa na master, ijitambue na iitike na kupokea au kutuma data kulingana na commands za master.
IC nyingi za I2C zina address ya bit 7 tu, ya 8 huwa inaiambia slave kama inatakiwa kutuma data kwa master au kupokea data toka kwa master. Kwa address ya bit 7, I2C protocol ina uwezo wa kuunganisha slaves 128.
Kama bit ya 8 ni 0, master inaiambia slave kuwa ipokee data. Na kama ni 1, master inaiambia slave kuwa itume data kwa master.
Mfano, address ya PT2313 ni: 1000100.
Kama master inatuma data kwenda kwa slave, byte ya address na data transfer direction inakuwa: 10001000.
Hiyo bit ya 8 ambayo ina msitari kwa chini, (0), ni ya data transfer direction inayoiambia slave kuwa master inataka ku-write(W)kwenye slave.
Kama bit ya 8 ni 1 ie 10001001, master inaiambia slave kuwa inataka ku-read (R) kwa slave, yaani slave itume data kwa master.
Table iliyopo hapo chini inaonyesha jinsi unavyoweza ku-set volume ya muziki kupitia PT2313. Nimeinakili toka ukurasa wa 7 wa datasheet ya PT2313 ambayo iko kwenye attachment kwenye huu uzi.
Ili PT2313 ifanye kazi, inabidi uandike commands mbili:
· Command ya kupunguza volume kwa kutumia makumi ya dB
· Command ya kupunguza sauti kwa kutumia mamoja ya dB
Ukiandika za makumi ya dB pekee au mamoja ya dB pekee bila kuziweka pamoja, PT2313 haitafanya kazi.
Mfano, kama unataka kupunguza volume kwa kiwango cha 37.5dB:
· Andika bits za makumi ya dB kwenye 37.5dB ambayo ni 30dB, bits zake zikiwa ni 00011(MSB) · Fuatia bits za mamoja ya 37.5 dB ambayo ni 7.5dB, bit zake zikiwa 110(LSB)
Hizo 00011 na 110 zinakupa 00011110 kwa binary number na 1EH au 0x1E kwa hexadecimal number.
Unaandika hizo number kutegemeana na syntax ya compiler unayotumia kuzituma kwa PT2313, na sauti inapunguzwa kwa 37.5dB.
ndio unaweza kuzifanya zitumie muundo wa 3.1 badala ya 5.1 .ambapo hapa katika mgawanyo kati ya FR, SR,FL,SL naziweka pamoja.lakin mkuu kuna IC PT2258 nilishaona wameitumia wachina katika 5.1 ila sijawah kuifuatilia
Mkuu,nimeona subwoofer ndogo ya Mchina aliyotumia PT2258, 6-Channel Electronic Volume Controller IC kwa 2.1 Sound System. Ametumia HCF4052BE, Analog Mulitiplexer/Demultiplexer kwa ajili ya ku-switch inputs.
Naona mambo yanaelekea pazuri, maana nimeona datasheet ya PT2258,commands zake naweza kuzimudu kwa kutumia PIC Microcontroller, kwani ameweka button mbili za V+ & V- kwa tweeter na Subwoofer pamoja kwa huo mfumo wa 2.1. Channel tatu hazikutumika. Kaa mkao wa kula.
Nimependa mlichonipa kwenye thread hii ahsante sana nimeipata mwangaza kumbe kuna watu wana moyo wa kusaidiana IL tufike mbal Mungu awabarik na awazidishie maarifa be. Alpha na wicalumtata.
Nimependa mlichonipa kwenye thread hii ahsante sana nimeipata mwangaza kumbe kuna watu wana moyo wa kusaidiana IL tufike mbal Mungu awabarik na awazidishie maarifa be. Alpha na wicalumtata
Ata mimi nilifuatilia kuhusu iyo HCF4052 nikaona inatumika kama analogy multiplexer, ikiwa pamoja na PT2258, lakin sijaelewa kama pia itatumika na I2C na MCU na LCD ? Au kuna vitu vitapungua hapo
Ata mimi nilifuatilia kuhusu iyo HCF4052 nikaona inatumika kama analogy multiplexer, ikiwa pamoja na PT2258, lakin sijaelewa kama pia itatumika na I2C na MCU na LCD ? Au kuna vitu vitapungua hapo
Mkuu, HCF4052 haitumimiki na I2C wala LCD. Kazi yake ni ku-switch moja kati ya input nne na kutoa output mbili za right na left. Inakuwa controlled digitally kwa kutumia pin tatu tu:
MH! Kwa hii habari ya digital electronics, nimeipenda ila bila Shaka nadhani ninahitaji kuanza kujifunza ingawa naona kama ni ngumu. Ahsanteni sana kwa somo hili, sijatoka bure.
Kwa Wanaofanya final year projects kwa upande wa Mech, EEE na ECE hata CSE hii thread ingewasaidia kufungua mawazo mapya, na hata kusaidiana na wazoefu katika projects zao ila ndio hivo hawaonekani, wako busy jukwaa la elimu kubishana chuo gani bora.
Ngoja tuijaze nyama thread kwa kuangazia vitu muhimu vinavyohitajika katika kujifunza ukanda huu wa MCU and the likes.
softwares muhimu:
1.Proteus (simulation + PCB designing)
2.Multisim (simulation + PCB designing)
3.Circuit wizard (PCB designing)
4.MicroC compiler (Microcontroller programming) [inategemea ni chip gani unatumia na compiler zipo tofauti kulingana na chip utumiayo kuna AVR, 8051, PIC na ARM] unahitaji kuwa na walau msingi wa c/c++
5.Flowcode (Microcontroller programming) hii ni nzuri kwa wanaoanza kujifunza, urahisi wake ni hautumii code katika kuunda program yako bali kila kitu kimerahisishwa unatumia mfumo wa flowchart kutengeneza sequence ya unachotaka kifanyike.
Tutorial nyingi zipo online na video zimejaa youtube.
Mm nafanya ubunifu wa kuunda sabufa, za magar na nyumbani. Nataman Sana kuzifanya ziwe,za digital ktk mfumo wa kucontrol signal na display, kwasasa natumia kawaida zikiwa na analogy signal
Kwa Wanaofanya final year projects kwa upande wa Mech, EEE na ECE hata CSE hii thread ingewasaidia kufungua mawazo mapya, na hata kusaidiana na wazoefu katika projects zao ila ndio hivo hawaonekani, wako busy jukwaa la elimu kubishana chuo gani bora.
Umenena kweli mkuu, uzi huu unapaswa uendelezwe maana unatoa elimu adimu yenye mlengo chanya kwa wa-Tz wabunifu ambao waweza itumia kutengeneza bidhaa za ki-electronic kwa ubora unaokubalika zikauzika nchini na kuokoa pesa nyingi za kigeni, pia kutoa ajira.
Hivi Mkuu wa Tanzania ya viwanda huwa anapita na huku (au wanusaji wake) kuangalia watu kama alpha1,wicalumtata transistor na wengineo wengi ambao wanafaa kuwa mchanga wa kutengenezea matofali ya kujengea viwanda?
Au matofali imara (yalitengenezwa kwa gharama kubwa) yatoayo mlio kama chuma yagongwapo kwa nyundo(kupimwa kama yanafaa) yanatosha tu kutoa mlio uashiriao uimara wake bila kutumika kujenga majengo imara ya viwanda ambamo itafungwa mitambo?
Kwa hali hiyo, sauti(milio) inaonekana ndo kipimo cha ubora wa matofali, si midomo ya matofali itatoa milio, bali hata mikono itapiga makofi kuongeza ukubwa wa mlio ili tofali zionekane imara. Sasa mikono ikifanya kazi ya mdomo, mdomo ufanye nini? Matokeo yake: Mdomo utabaki kuwa mdomo na mikono pia inageuka midomo (mdomo x mdomo = (mdomo)2; navyo hutoa kelele wala si milio ivutiayo tena.
HITIMISHO:
Wasomi(matofali) watumie taaluma zao zilizogharimiwa na taifa katika kuleta maendeleo ya taifa la Tanzania, bila kusahau mchanga(wabunifu) unaowezatumika kuunganisha au kutengeneza matofali mengine. Afanyae kazi za mikono afanye na za mdomo afanye, kila mmoja kwa jinsi yake ili Tanzania isonge mbele kimaendeleo. Tusizikimbie taaluma zetu kwa kuwa hazilipi na kufanya zinazolipa wakati ni za kuigiza. Mh.HNKT boresha huko kunakokimbiwa na bana huko kunakokimbiliwa. PAMOJA TWAWEZA.
Ata mimi nilifuatilia kuhusu iyo HCF4052 nikaona inatumika kama analogy multiplexer, ikiwa pamoja na PT2258, lakin sijaelewa kama pia itatumika na I2C na MCU na LCD ? Au kuna vitu vitapungua hapo
Mkuu wicalumtata, gharama za digital potentiometer ni majanga. Ni kama sh 20,000/- kwa moja ya stereo. Sound System ya 5.1 inahitaji zitumike tatu(FR + FL, SR + SL, Center + SW), jumla sh 60,000/-, Programmed MCU (PIC16F877A) sh 50,000/-, 16 x 2 Character LCD sh 25,000/- na module PCB fabrication plus accessories zingine sh 20,000/- jumla 155,000/-
Gharama inakuwa juu sana kwa kuwa tunanunua kifaa kimoja kimoja halafu kwa retailers, na hii huwezi kufanyia biashara, maana hutapata soko au faida ukipata soko. Tukiwa na mtaji vifaa vikanunuliwa kiwandani au kwa wholesaler kwa kiasi kikubwa, gharama inakuwa ndogo sana.
Kwa kuwa nilikuwa na nia ya kujifunza,nilinunua hizo component toka kwenye hiyo online store ili tu nipate vifaa vya kufanyia mazoezi, sikujali gharama.
Kwa upande wa project yako, ambayo mimi naiona kama pilot project, nashauri ni-design system ya 2.1 kwa kutumia potentiometer moja ambayo channel moja ita-control subwoofer na nyingine tweeter (1.1 in reality) pamoja na LCD. Una-control aina ya sauti kwa kujitegemea(SW or Tweeter independently).
Status na signal level(selectable via option button) zinaonyeshwa kwenye LCD. Buttons zingine baada ya option button ni Vol- & Vol+, hivyo inakuwa na jumla ya buttons tatu. Wewe unaingiza tu sauti toka kwenye preamp na kutoa sauti kwenda kwenye power amp.
Kwa kuwa nilinunua vifaa kwa gharama kubwa(only for educational purpose,not for business), na kwa kuwa nimeshakata kiu yangu ya kutaka kuona kama nitafanikiwa au la, utagharimia 75% tu ya vifaa, 25% bure na labour charge bure, ili nawe ukate kiu yako ya kutaka kujua kama inawezekana au la.
Unanipa sh 60,000/- kwa functional module nzima yenye preprogrammed PIC16F877A, Digital Potentiometer moja, 16 x2 Character LCD na accessories zingine. Ila hiyo MCU itakuwa na Code Protection Fuse Enabled ili kuzuia ku-copy kazi yangu, ukilazimisha ku-copy firmware iliyoko kwenye ROM(Flash memory), kila kitu kinafutika, MCU inabaki empty.
Tafakari unipe jibu. Kama ukiridhia, nijulishe nitafute Digital potentiometer, maana hiyo sina.
NB: Ili kuweza kuunda bidhaa ambazo zitauzika(affordable price), nalazimika kujifunza jinsi ya ku-interface Audio Digital Signal Processors kama PT2313,PT2322,PT2323 etc na MCU. Hili lazima niilifanyie kazi ingawaje linahitaji muda.
JamiiForums uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.