Kifaa cha mantiki kinachoweza kupangwa (CPLD) ni kipande muhimu cha vifaa katika mkusanyiko wako. Kama jina linavyopendekeza, unaweza kupanga chipu hizi ili kutoa kazi za mantiki unazohitaji. Hii inaweza kuwa kuchukua nafasi ya chipu zilizopitwa na wakati, au njia tu ya kujifunza na kujaribu teknolojia tofauti. Ni njia gani bora ya kujifunza kuliko kutumia CPLD na kujaribu?
Niliunda moduli ya CPLD ili kuweza kuiunganisha katika mambo mengi, ikiwa ni pamoja na mbao za mkate zisizo na solder, lakini niliharibu. Inaonekana kwamba nafasi ya kuziba inayopatikana kwenye ubao wa mkate usio na solder ni inchi 1.1. Nimetengeneza sehemu ya kuingilia iwe na upana wa inchi 1, bila kuacha nafasi ya safu ya waya pande zote mbili. Uh.
Lakini acha nirudi nyuma na kuonyesha zaidi kuhusu ninachofanya, nataka kutengeneza mantiki inayoweza kupangwa ambayo inaweza kujengwa kama kit, inaweza kuunganishwa kwa urahisi nyumbani, inaweza kupangwa katika saketi, na inaweza kufanya kazi kwa volti 3.3 au 5.
Ili kupata kifaa rahisi cha kuuzwa, nilitumia sehemu ya zamani ya CPLD, ambayo pia inapatikana katika matoleo ya 3.3v na 5v, na itadumisha upangaji wake bila kujali usambazaji wa umeme. Mantiki yenyewe ni IC ya CPLD kutoka mfululizo wa Altera Max, inayopatikana katika matoleo mawili, inayofaa kwa bodi za saketi zenye macrocell 32 au 64. Macrocell ni vizuizi vya msingi vya kimantiki ambavyo vimepangwa kwa kutumia "maneno" ya kimantiki na kisha kuunganishwa na macrocell zingine kupitia miunganisho inayoweza kupangwa.
Ukiangalia mpangilio, unaweza kuona kwamba hauna maudhui mengi: kimsingi CPLD, saketi ya programu ndani ya saketi na kioscillator kinachoendesha mantiki ya CPLD.
Sehemu hii inaitwa EPM7032 na EPM7064, kwa kutumia kibebaji cha chipsi cha risasi cha plastiki chenye pini 44 (PLCC), wakati mwingine huitwa risasi ya J kwa sababu ya umbo la J la risasi ya risasi. Kifurushi hiki kinaweza kuingizwa kwenye tundu linalopita au kuunganishwa moja kwa moja kwenye PCB.
Ina kitetemeshi ndani ya ubao, kwa hivyo CPLD inaweza kufanya shughuli kwa utaratibu na kuunda vihesabu vya haraka peke yake bila kuhitaji saa ya nje. Ikiwa saa ya nje inapatikana, saa ya kasi ya juu kwenye moduli inaweza kutumika kuunda tukio la saa kwenye kila ukingo unaoinuka au unaoshuka wa saa ya nje, na bado kufuata miongozo ya CPLD/FPGA, yaani, unapaswa kutumia mtandao wa ndani wa saa ya kimataifa badala ya "Asynchronous" huendesha ingizo la saa. Volti ya usambazaji wa umeme iliyokadiriwa ya kitetemeshi hiki ni kati ya volti 1.8 na 5.5.
Ukitazama video, utaona kwamba ninajadili mapendeleo yangu binafsi kuhusu jinsi ya kushughulikia pini ya "INH" kwenye kioscillator; kwa ufupi, baada ya kuangalia kama karatasi ya vipimo ni halali, huwa naiacha ielee.
Wakati wa kushughulika na kazi kama hizo, sababu zilizonijia akilini mwangu ni pamoja na kutopenda kwangu kuunganisha pini za kuingiza moja kwa moja kwenye reli za umeme (ikiwezekana). Hiyo ni, napendelea kutumia vipingamizi vya mfululizo ili kupunguza mkondo wakati wa mpito, hata kama haupaswi kuhitajika.
Kwa miaka mingi, nimeona matatizo katika uzalishaji (vikundi vikubwa), na mara kwa mara mambo kama vile mzunguko wa umeme yangeruhusu pini zilizounganishwa moja kwa moja kwenye reli ya umeme kuwa na volteji ya juu kuliko chipu yenyewe, ambayo ni mbaya. Hatimaye, unganisha pini kwenye reli ya umeme kupitia kipingamizi (iwe ni cha umeme au cha ardhini), na watu wanaweza kubadilisha mawazo yao na kutumia pini baadaye. Hii ni kweli hasa katika uzoefu wangu na milango isiyotumika, labda unajua kwamba milango hii haipaswi kuachwa ikielea au bila kuunganishwa. Kwa kutumia kipingamizi cha kuvuta, unaweza kuunganisha ishara na kutumia lango bila kukata alama za shaba.
Kiunganishi cha pini 10 na vipingamizi vichache huunda saketi ya programu. Ikiwa vipingamizi vyote ni vipingamizi vya kuvuta-juu, ningetumia mtandao wa vipingamizi, lakini ole wangu, kimoja kimekwama.
Ili kupanga CPLD huru kama hiyo, programu maalum inahitajika. Hii ni rahisi kwangu kusema, kwa sababu huwa na chache zilizolala karibu nami, lakini ikiwa huna moja, haitakuwa chungu sana kuingia kwenye mchezo. "Altera USB Blaster" iliyoidhinishwa inauzwa kwa $50 na inaweza kununuliwa kutoka Digikey na sehemu zingine. Nina nakala kadhaa kutoka Ebay, moja ambayo ni nakala inayounga mkono Altera, Xilinx na Lattice kwa wakati mmoja. Kuna mradi na msimbo kwenye mtandao ambao unaweza kutumika kutengeneza nakala yako mwenyewe, nitaorodhesha katika orodha yangu ya video zinazowezekana za mradi wa kutengeneza nakala za programu. Pia nitaonyesha muundo wa ngao ambapo ubao wa mama, Arduino, PIC, n.k. unaweza kupangwa.
Programu inayohitajika kukusanya na kupanga CPLD inapatikana bure kutoka Altera, lakini sehemu hii ya zamani inahitaji toleo la zamani la 9.1. Habari njema ni kwamba ilikuwa toleo la zamani nililopenda zaidi. Ilikuwa na kichambuzi cha muda kinachoweza kueleweka, lakini iliondolewa katika toleo la baadaye.
PCB ni muundo rahisi wa pande mbili, mradi tu bodi ya saketi inatoshea, mimi hutumia shaba kwa kutuliza na wakati mwingine usambazaji wa umeme. Wakati mwingine kumimina huharibika sana kiasi kwamba kunaweza kusababisha matatizo au matokeo duni, kwa hivyo kumimina tena shaba ni kifaa, lakini inahitaji kudhibitiwa.
Leo, vifurushi vingi vya programu za CAD (kama si vingi) vina mitazamo ya 3D ya bidhaa ya mwisho, ingawa usahihi wa picha ni sahihi tu kama mifumo ya 3D inayotumika kuwakilisha sehemu. Hapa unaweza kuona nilipochagua mfumo wa 3D kwa soketi ya pini 44, kiunganishi cha programu, na kioscillator. Hapa kuna baadhi ya vifurushi vya 3D ambavyo napenda kutumia:
Makampuni mengi pia yana modeli za 3D za vipengele vyake. Molex ni mfano mmoja tu wa kampuni ambayo imefanya kazi nzuri katika eneo hili.
Kosa nililofanya haliathiri utendaji kazi kama urembo, na sio tatizo kuu, yaani, halifai kwa ubao mmoja wa mkate usio na solder.
Mara tu nilipofikiria kwamba ningeweza kushiriki muundo huo na mtu yeyote, mara moja sikuridhika na alama za michoro za CPLD na pinout ya kiunganishi cha pini 40, ambayo ni alama yake ya jumla. Nilichukua alama ya kiunganishi cha safu mbili cha pini 40 na kuirekebisha kuwa alama ya inchi 1, lakini nambari za pini si 1, 2, 3, 4... lakini zina nambari 1 pembeni kama kifurushi cha DIP 3, 5, 7...kama viunganishi vya kebo ya utepe. Kwa hivyo, ni alama ya kubaini jinsi ya kuunganisha kwenye moduli na kutatua matatizo.
Vile vile, kazi za pini za CPLD zinachanganya kidogo, na nilitumia seti ya huduma zinazotegemea Lugha ya Maelezo ya Uchanganuzi wa Mipaka (BSDL) kuunda alama. Wauzaji wengi wakubwa wana faili za BSDL zinazopatikana kwa vipengele vyao vikuu, ambavyo hukuruhusu (nusu-) kuunda alama na vifurushi kiotomatiki. Kama kiotomatiki chochote, inahitaji kuonekana kama zana na inaweza kuhitaji masaji zaidi kwa matokeo bora. Katika hali hii, niliiruhusu iorodheshe pini kwa mpangilio wa alfabeti, ambao ni karibu nasibu wakati wa kufuatilia pini kwenye ubao. Naweza kusema tu kwamba nilikuwa na wasiwasi sana siku hiyo.
Unalipa njia hizi za mkato wakati fulani barabarani. Ninapoenda kurekebisha moduli hii, nitaamua na kuipa nafasi ya pini inayolingana na sehemu yenyewe, ili kujua wapi pa kuweka probe yako ya oscilloscope iwe rahisi kama kutazama alama ya kielelezo.
Unapotumia bodi za saketi, kuna maboresho mengine ambayo kimsingi ni ya urembo au muhimu. Kiashiria cha pini 1 kinahitaji kuwa cha kawaida zaidi katika vifurushi kadhaa, na mimi hupendelea sehemu rahisi ya ardhini ili kuunganisha ardhi ya oscilloscope au risasi ya VOM. Ninaweza kuongeza hii kwa kuongeza kiunganishi cha pini mbili ili umeme na ardhini viweze kutumika moja kwa moja kwenye ubao badala ya kubanwa kwenye pini za chini.
Kabla sijarekebisha bodi ya saketi, nataka kuhakikisha inafanya kazi vizuri chini ya matatizo ya kimwili na urembo. Baada ya kuwasha na kuthibitisha kwamba kiashiria kinafanya kazi vizuri, niliunganisha programu. Ingawa toleo la 3.3v ni jipya zaidi kuliko programu ya programu, liligundua CPLD na kuionyesha kama kifaa "kisichojulikana".
Kisha, niliunda kihesabu katika Kwartus na kuweka nambari za pini. Ukusanyaji na upakuaji wa haraka na kitendakazi cha kihesabu kinachoonekana na oscilloscope huthibitisha kwamba muundo huo unawezekana.
Mzunguko wa majaribio ya haraka katika Verilog ni rahisi sana. Msimbo umeorodheshwa hapa chini. Unaweza kupakua faili ya ZIP iliyo na mzunguko wa majaribio wa kimchoro na Verilog kama mradi wa Quartus II (inahitaji toleo la 9.1).
Kama nilivyosema, nitafanya marekebisho ya pili ya bodi ya mzunguko ili kuzingatia zaidi maelezo yanayohitajika wakati wa kushiriki muundo au kufanya idadi yoyote ya utatuzi wa matatizo. Kwa kuwa ninahitaji kuweka upana wa kiunganishi cha chini hadi inchi 0.9 au chini ya hapo, naweza kuendelea kuiweka hadi inchi 0.6, ambayo ni kifurushi cha kawaida cha DIP "pana". Kufanya hivi kunamaanisha kuruhusu pini za chini zitokee kutoka kwa sehemu ya soketi ya CPLD. Nisingefanya hivi katika hali ya uzalishaji kwa sababu ilikusanywa kwa mkono wakati huo, lakini moja ya malengo ilikuwa kutengeneza kifaa cha kuunga mkono kwa mkono. Maelewano ya kuunga mkono kwa mkono ni kwamba oscillator inahitaji kuwa katika nyumba ya kupachika uso wa SMD, toleo la shimo la kupitia ni kubwa sana na kwa kawaida haliungi mkono safu ya volteji ninayotaka.
Je, inawezekana kutumia moduli hizi kujenga kompyuta rahisi kabisa? Nadhani ninahitaji kuongeza kumbukumbu.
Lol...ndio, inategemea aina ya kompyuta. Hata hivyo, vidhibiti vidogo/kompyuta ndogo "halisi" huathiriwa na "uunganishaji wa pini" wa moduli, ambayo ina maana kwamba huwezi kupata istilahi za kutosha kutoka kwa moduli kufanya chochote chenye manufaa sana.
Nilitengeneza kidhibiti kamili cha muda na hali ya kamera cha NTSC chenye ukubwa wa 64, kwa hivyo hakuna kichakataji kinachohitajika.
Verilog ya Muundo na HDL zinazotumika katika kitabu cha Nand to Tetris zinafanana kwa kiasi fulani.
Kwa nini sehemu za mashimo yanayopita? Kulehemu 0805 ni rahisi! Sasa ni wakati wa kila mbuni kujifunza ujuzi huu.
Nikitengeneza soketi ya juu ifunike pini zilizounganishwa kutoka chini, basi naweza kutumia "vituo 6 (kuiga chipu ya pini 40) au mlalo, n.k.. Hii itakuwa vipengele vya kuunganishwa kwa mkono kwa ajili ya kuunganishwa chini ya soketi. Soketi ya juu nyuma ya miguu.
Lakini ni vigumu kwa wanaoanza kuisogeza kutoka chini. Ninapoisogeza vichwa vya habari vya PCB ya ubao wa mkate (mbao hizi za adapta za SMD za bei nafuu unazoweza kutumia kwenye eBay zinaweza kutumika kwa ajili ya kutengeneza mifano), mimi huingiza vichwa vya habari kwenye ubao wa mkate, kisha huweka PCB juu yake, na kisha naweza kuisogeza kwa urahisi. Inafaa sana kwa mbao za mkate. Ukihitaji kuisogeza kutoka chini, ni vigumu zaidi.
Ikiwa CPLD iko katikati (inaweza kuwa rahisi zaidi kuunganisha waya), inaweza kusakinishwa kwa mlalo bila kuingiliana, kuna safu 4, au CPLD inaweza kuwa upande mmoja:
Asante kwa ncha ya kuingiza kiunganishi kwenye ubao wa mkate kabla ya kuunganishwa. Changu hakina msimamo.
Vipi kuhusu pini za ubao wa mkate za umbizo la DIP upande mmoja na aina ya "dongle" ya soketi ya chipu yenyewe upande mwingine? Chipu inaweza kutundikwa kwenye mwisho wa ubao wa mkate. Uelekezaji utakuwa mgumu.
|###### ********************** |. Ndiyo, niliamua kutumia toleo la "bure" la Altera, kama vile Xilinx na Lattice walivyo na matoleo "bure". Ninahitaji kumaliza mzunguko na Al Williams ili kuelewa kile ambacho usaidizi wote wazi unaunga mkono, ambacho lazima kijumuishe sifa maalum za mfululizo wa vifaa. Baada ya kusema hivyo, nimefanya mengi na toleo la bure.
Ndiyo, unaonyesha kwamba CPLD inaingiliana na pini naamini. Nikiifuata kwa usahihi, hii inaweza kuonekana kama rev 2. Wakati wa kubuni kwa ajili ya uzalishaji (wa wingi), mimi huwa na mzio wa hatua ya "mkusanyiko wa solder kwa mkono" kwa sababu zinaingiliana (kwa kweli pini za solder upande usio wa sehemu). ) Tayari ni sehemu iliyounganishwa kwa mkono) lakini hii ni seti ndogo tu, sio muundo unaolenga uzalishaji. Nina tabia ambazo ni ngumu kuziondoa katika umri wangu. 
Nadhani bodi ya saketi yenye umbo la T yenye CPLD na vipengele visivyotumika vyenye sehemu pana yenye umbo la T itakuwa muhimu sana ikitundikwa kwenye ukingo wa ubao wa mkate. Kitu kama Adafruit RasPi T-Cobbler (http://www.adafruit.com/products/2028). Hii itafanya eneo kubwa la ubao wa mkate lipatikane.
Kwa bahati mbaya, kusitishwa kwa matumizi kutapunguza sana matumizi yake katika miradi ya kando, kama vile jenereta zote za utendaji kulingana na XR2206 na ICL8038.
Wazo la kuvutia. Ninapenda chipsi hizi mbili. CPLD haijapitwa na wakati, ni njia rahisi tu ya kuinunua kwa 3.3v.
Kuhusu "upuuzi" wako... kwa kweli hukutengeneza mpangilio mpya wa kuuweka kwenye ubao wa mkate. Weka waya kwenye ubao wa mkate kwanza, kisha weka cpld kwenye waya. Au, ikiwa unaweza kuvuta vipande vya umeme na vya kusaga kutoka kwa mmoja wao, tumia mbao mbili za mkate.
Kuhusu Altium na Eagle. Je, umefikiria KiCad? Haina mapungufu yoyote kwamba unapendelea Altium kuliko Eagle, na kwa chaguo-msingi hutoa hitilafu za DRC kwa pini zote ambazo hazijaunganishwa. Ikiwa unataka kweli kufungua pini, lazima uieleze. (Labda kwa ajili ya kuingiza data tu, si kwa ajili ya kutoa data, na bado haijaangaliwa). Kipengele kingine kizuri ni kwamba ni rahisi sana kujifunza. Ilichukua alasiri moja tu, na mwongozo bora wa utangulizi ulinifanya nianze.
Napendelea sehemu kubwa zaidi (sehemu kubwa) juu ya shimo la kupitia. Ni rahisi kutumia. Huna haja ya kugeuza pcb wakati wote. (Makosa mengine ya kijinga yalifanywa kwa sababu ya kuakisi...). Na huna haja ya kukata ncha ya kipingamizi. Unaposhiriki muundo, vifurushi vingi vinaweza kuwekwa kwa urahisi kwenye PCB au sehemu moja. Kipingamizi cha SMD TH. (Inafanya mpangilio kuwa mgumu zaidi).
Nilitumia "KiCad Getting Starting" katika umbizo la pdf. Toleo la zamani nililotumia lina kurasa 29, na toleo jipya lina kurasa 52. Unaweza kulipata katika mafunzo mengine (ikiwa ni pamoja na viungo vya video): http://kicad-pcb.org/help/tutorials/
Ninajua kwamba [Chris Gemmell] kutoka Hackaday na The Amp Hour walitengeneza mfululizo kwenye Kicad http://kicad-pcb.org/help/tutorials/
Kicad inaweza kuwa muhimu, wacha nione kitakachotokea katika Rev 2. Asante kwa mapendekezo yako. Ingizo ambazo hazijaunganishwa ni jambo zuri kwa DRC (ERC), na kwa viunganishi na vitu vingine vinavyoziweka laini au IO, jumbe nyingi za kukata CAD kwa kawaida zinaweza kuepukwa.
Fanya jaribio la haraka na utupe kiunganishi kwenye jedwali tupu, tumia maelezo na DRC. Ilinipa makosa ya drc kwa kila pini. Hata hivyo, kuweka alama kwenye pini zisizounganishwa zinazojulikana ni rahisi sana.
Imewekwa kwenye passive. Lazima nitafute (Hariri Kipengele -> Hariri kwa kutumia Mhariri wa Maktaba. Kihariri cha maktaba hufungua na kupakia kipengele chako katika dirisha tofauti, unaweza kuangalia au kubadilisha sehemu yoyote ya kipengele. Kipengele kilichobadilishwa kinaweza kuhifadhiwa au kusasishwa katika mpango wako. Hii hurahisisha sana kubadilisha vipengele. Sijali sana kuhusu maktaba. Kwa mfano, ukitumia cpld, unataka kugawa majina yenye maana kwenye pini. Muhimu zaidi, kuna kiolesura kizuri cha kubuni vipengele vyako mwenyewe.
Katika ERC ya KiCad, pini "zisizounganishwa" ni aina tofauti ya pini kutoka kwa "pini tulivu", na pini zote "zisizounganishwa" zitazalisha hitilafu. Jinsi ERC inavyofanya kazi inaweza kurekebishwa kwa urahisi kulingana na mapendeleo yako mwenyewe: Zana -> Kikagua Sheria za Umeme -> Chaguo.
Muda wa chapisho: Novemba-18-2021





