URL
https://opencores.org/ocsvn/via6522/via6522/trunk
Subversion Repositories via6522
Compare Revisions
- This comparison shows the changes necessary to convert path
/
- from Rev 1 to Rev 2
- ↔ Reverse comparison
Rev 1 → Rev 2
/via6522/trunk/doc/via6522x12.docx
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
via6522/trunk/doc/via6522x12.docx
Property changes :
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: via6522/trunk/doc/via6522x12.md
===================================================================
--- via6522/trunk/doc/via6522x12.md (nonexistent)
+++ via6522/trunk/doc/via6522x12.md (revision 2)
@@ -0,0 +1,122 @@
+# via6522x12
+(C) 2022 Robert Finch
+
+## Overview
+The via6522x12 is a versatile interface adapter 12-bit peripheral core that is register compatible with a 6522.
+The core may also be configured for eight bit operation.
+## Features
+* 2 12-bit ports
+* 3 24-bit timers
+* 1 12-bit shift register
+## Registers
+|Reg |Bits|Moniker| Description | Comment |
+|----|----|-------|------------------------|----------------|
+| 00 | 12 | PB | Port B I/O | |
+| 01 | 12 | PA | Port A I/O | handshaking |
+| 02 | 12 | PBDDR | Port B data direction | |
+| 03 | 12 | PADDR | Port A data direction | |
+| 04 | 12 | T1CL | Time 1 count low | |
+| 05 | 12 | T1CH | Time 1 count high | |
+| 06 | 12 | T1LL | Time 1 latch low | |
+| 07 | 12 | T1LH | Time 1 latch high | |
+| 08 | 12 | T2CL | Time 2 count low | |
+| 09 | 12 | T2CH | Time 2 count high | |
+| 10 | 12 | SR | Shift register | |
+| 11 | 12 | ACR | Auxillary control reg | |
+| 12 | 12 | PCR | Peripheral control reg | |
+| 13 | 12 | IFR | Interrupt flag reg | |
+| 14 | 12 | IER | Interrupt enable reg | |
+| 15 | 12 | PA | Port A I/O | no-handshaking |
+| 16 | 12 | T3CL | Timer 3 count low | |
+| 17 | 12 | T3CH | Timer 3 count high | |
+| 18 | 12 | T3LL | Timer 3 latch low | |
+| 19 | 12 | T3LH | Timer 3 latch high | |
+| 20 | 12 | T3CMPL| Timer 3 compare low | |
+| 21 | 12 | T3CMPH| Timer 3 compare high | |
+
+### PB (Reg 00)
+Operates in the same manner as the 6522 port B but is 12-bits wide rather than 8-bits. If port B input latching is enabled, then input data on port B is latched by an active transition of the selected handshaking signal. Otherwise input data is reflected directly by reading the port register.
+### PA (Reg 01)
+Operates in the same manner as the 6522 port A but is 12-bits wide rather than 8-bits. If port A input latching is enabled, then input data on port A is latched by an active transition of the selected handshaking signal. Otherwise input data is reflected directly by reading the port register.
+### PBDDR (Reg 02)
+Operates in the same manner as the 6522 port B ddr but is 12-bits wide rather than 8-bits. Each bit that is set in this register set the corresponding port B I/O to an output. Each bit that is clear in this register sets the port B I/O to an input. The default value in this register at reset is zero, making all port B I/O’s inputs.
+### PADDR (Reg 03)
+Operates in the same manner as the 6522 port A ddr but is 12-bits wide rather than 8-bits. Each bit that is set in this register set the corresponding port A I/O to an output. Each bit that is clear in this register sets the port A I/O to an input. The default value in this register at reset is zero, making all port A I/O’s inputs.
+### T1CL (Reg 04)
+Similar function to the reg 4 of the 6522. Provides read access to the low order 12-bits of timer 1. Acts as a latch for the low 12-bits of the value to be loaded into the timer.
+### T1CH (Reg 05)
+Similar in function to register 5 of the 6522. When the timer is in 24-bit mode writing this register transfers bit 0 to 11 of the timer 1 latch to bits 0 to 11 of the timer and transfers input data bits 0 to 11 to counter bits 12 to 23 of the timer.
+### T1LL (Reg 06)
+Similar in function to register 6 of the 6522. Provides access to the timer 1 low order latches.
+### T1LH (Reg 07)
+Similar in function to register 7 of the 6522. Provides access to the timer 1 high order latches.
+### T2CL (Reg 08)
+Similar in function to register 8 of the 6522. Provides access to timer 2 low order latch / count.
+### T2CH (Reg 09)
+Similar in function to register 9 of the 6522. Provides access to timer 2 high order latch / count.
+### SR (Reg 10)
+Similar in function to register 10 of the 6522. The shift register is 12-bits wide.
+### ACR (Reg 11)
+| Bits | Function |
+|------|--------------------------------------|
+| 0 | port A input latch enable |
+| 1 | port B input latch enable |
+| 2-4 | shift register mode |
+| 5 | timer #2 mode |
+| 6-7 | timer #1 mode |
+| 8 | timer #3 mode |
+### PCR (Reg 12)
+| Bits | Function |
+|------|--------------------------------------|
+| 0 | CA1 mode |
+| 1-3 | CA2 mode |
+| 4 | CB1 mode |
+| 5-7 | CB2 mode |
+### IFR (Reg 13)
+| Bits | Function |
+|------|--------------------------------------|
+| 0 | CA2 active transition |
+| 1 | CA1 active transition |
+| 2 | shift register |
+| 3 | CB2 active transition |
+| 4 | CB1 active transition |
+| 5 | Timer #1 underflow |
+| 6 | Timer #2 underflow |
+| 7 | Timer #3 compare |
+| 8-10 | reserved |
+| 11 | Set if any interrupt is present |
+### IER (Reg 14)
+| Bits | Function |
+|------|--------------------------------------|
+| 0 | CA2 active transition |
+| 1 | CA1 active transition |
+| 2 | shift register |
+| 3 | CB2 active transition |
+| 4 | CB1 active transition |
+| 5 | Timer #1 underflow |
+| 6 | Timer #2 underflow |
+| 7 | Set if any interrupt is present |
+| 8 | Timer #3 compare |
+| 9-10 | reserved |
+### PA (Reg 15)
+This is an alias to access port A except no handshaking is present.
+### T3CL (Reg 16)
+Provides read access to the low order 12-bits of timer 3. Acts as a latch for the low 12-bits of the value to be loaded into the timer.
+### T3CH (Reg 17)
+Writing this register transfers bit 0 to 11 of the timer 3 latch to bits 0 to 11 of the timer and transfers input data bits 0 to 11 to counter bits 12 to 23 of the timer.
+### T3LL (Reg 18)
+Provides access to the timer 1 low order latches.
+### T3LH (Reg 19)
+Provides access to the timer 3 high order latches.
+### T3CMPL (Reg 20)
+Contains the low order 12 bits of a comparison value that will cause an interrupt flag to be set if timer #3 exceeds this value.
+### T3CMPH (Reg 21)
+Contains the high order 12 bits of the comparison value.
+
+## Key Differences from a 6522
+The reset input (rst_i) is active high.
+The IRQ output (irq_o) is not open collector and is active high.
+There is only a single active high circuit select (cs_i).
+
+## Software Examples
+The via6522x12 is being used for timing and gpio in a 12-bit 6809 test system.
Index: via6522/trunk/doc/via6522x12.pdf
===================================================================
--- via6522/trunk/doc/via6522x12.pdf (nonexistent)
+++ via6522/trunk/doc/via6522x12.pdf (revision 2)
@@ -0,0 +1,1860 @@
+%PDF-1.7
+%µµµµ
+1 0 obj
+<>/Metadata 858 0 R/ViewerPreferences 859 0 R>>
+endobj
+2 0 obj
+<>
+endobj
+3 0 obj
+<>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 612 792] /Contents 4 0 R/Group<>/Tabs/S/StructParents 0>>
+endobj
+4 0 obj
+<>
+stream
+xœ½]kÜ6²ýnÀÿA»°,ê- `;Én.6X¯=Àý],Ú3í™íîÙy81°èþËK²HIbUIleÄwë‹::ÔH/_Ý?Þ~Ü]>&ß}÷òÕããîòf•üúòâx÷Ï—ßîö/ßî®o»ÇÛãáåû§æ£¿ìwWûûï¿O^ÿð&ù÷ógYš™ÿ:•'YRë?›.Oî÷ÏŸýÃóg¯/ž?{ù“J”J³2¹øøü™ÒvY¢’²+ÒªLš²Nó6¹ø¢íþü¾I®ŒÏ²k“kûI;úäÏÏŸýºy»}‘×Ýf§ÿjò͵ùKmöÛ&ÿóüÙîïÏŸW•7i–ãÊL( 'kuiÓ†’Yªjýé寛ÿDbæ!Ì¢L+ó×Z¨ÔX-‰Ö¢”ñÑdºfÞäiY&¥þgW%z~´Öþ㟬Ë3‡¦ÉõÐEžê¿Î_%?þò&I^¾5Kí—7?ÿd‹—P^aÖ]•Ö9
+óëí®Þ›*Ïcç,FTUeæ,ø¯ßÕŠXyÖ¤MCaMåW-ÎoÌm£R…§Àÿ%zßÙäÛõ&Û6záèºØ®Ÿw]š×$ð‹u@T–ïHß/ûCôN óŒŒÞW§ zWÈ)wÇí‹jóÁtj¿-7÷[¥6v$Ú¾(6·æŸóí¥þöf¥ˆêÎì¸óºfq¾¼ÐViWgr©úu”*½ƒfi‘w‰ÙMõÖyúôño_Mrö÷_o÷¿EW?•**;b£’2W¬@QTÖ*P뽩ÀUìâfŸ|½Õ«dWë=6Ùvz½(7æ§]òu¿m7÷&s;móh¾ºÝÖ›Ïæ‡=X×›ƒý|¿6íN~¹732Ù]?wú+ý½ž·+R"ËRO¢c‘4 ¤7o(zg érEEïš! 2mI v
+ØAMÌnrg‡ÖŒôÝ
+Œ¢a;’KýÓÑÎ;l£›ÿÉ6wÊøØ_ßê?·¥Ÿ¶ýcq×·2HÜûm«ÊÍÏ
+lv«%Â/•§
+ÊÃ.1k"]MóI}µF[³We‘ÌÏ~Û±±™ß}Ó™OvŸÍГ{m‘\úÃPQêÍõŒñU?ÈÇäxg<ع±{4ƒigÀîÁ&f0ÉÞï'×7+ÎÞJ¥"ú·æ*Ñ<±¢pÆ‹äÎôóref²ÉË
+$æ³IÌŠS¨TMZP1Iå¤\¯Wæ(uDÉûi¿{|2©ºß?¬XˆõN–×ñQI™«f®]—Aæê:¦C÷]–5í÷Qé(CPUšÕÔ°}†qV¬ÀJY™%Œ³bVªÓ‰#pVÜYï)œ“åhö»µ<êm8¹ê‹ä.ùíöª¯¸ë…–g…!;³¦Z&õŠË¤Òwÿ¥e‚ú#–I§XHiBGହLr•¶TÊ5qt±£ÆgÍåXdiG጗ãÅVúÒ_ñÄ1FS›ëþYÓ-½fÅ¥W4iõß*QA¬?bñ…Ôú« Zù…V]ç°þÂ@ÀM¯GnnõäG(ŠþC¸>¹î_š¯X5mlfN[´HÛ xÖ¤ª‹ º?Ü~üh®¿Dx¿?\î’Ÿ¶/šÍýñKâRÚhBa¯èß?/?Ùו¹ÉÍÇñõ%o«´Tñ}‘òݧŸ•Î;¾ä2úÙÕ~«2'}=yefæ•™špul˜[ò›Rô7öàn‰)(‰EÌ×{{ÉøuŸ|ðsÙ0¿‡¯!ó&KÛŽê‘x&±üЇNªŽ¤ÀËèÂÊL¹W=Ò&ò¦•î·Íæ*1é±ÿü¢ð*#µ#ôW¦±ýâ«•1ɇoÉIÆ“ãšbnX5Ñ_3ì;
+Wû;£¹ê¿}O.í”°——ŸÒäBg wý Í~4ìÁl¿[ùåêªï‹ýáx°“ñóÊ2¬ÊªNk<›Ü Ld?3‰“‘ìŽþt§¯t:¡ã÷tX#a¼S¿;½v°æR©ua*¨Î˜Å¼¶—]ÐÅîÛi'“¦ÆñéàÓó<ÝØ÷¢¬Ó¦šÙw¼M,?»¤çVQQ{/ì:û^Ø´3ä`U¸§a2ýccU'{˜á3ö¯~Býck“:ҫͺº4Þû¤÷ä›AÐ\u–5vCwSÌtÄù™iU¤e8Ó?ëmé^Á×K99Bb*¡SÛøu©³øo›Ö#N©™©G‘£ÕLÉåÑÌÏfoîg
+ #_¹
+¹3]ŽO ̈ܚ
+åÚJ®kNþ¶N•¢ò!ÉŠwE§Ì2œS#M.6™ßlÚwɃ˜ÃµÍ¯ÉaîrXËŸÏã
+ì*f¿¶#pù4ÔÄž›¥ç3kVÈ2m+ª·ý¨Ã\»´‡ÓÕ»êÞW¤yCE#ÿŠB{Q«´ŒáÆï4õÑ#zûð¸¿_Si/”‘b£Ã
+åNÇcîåhk›÷¢ÑËÎÜqeÎ8ÆA¤x¤ÈÏiË]µ—æð¾(+³£»-g¹Fé;²È͹+9ÉÐ8I¥PÛ´æs4’cg4e⺴#ã}½ŸÐâ©vtÓ¤M‘ª®HYwÚGÉçj¤ŸÍiËDܵ&T"â_ŽÃÐ?í±&ql^ÔæHq¢ñÔ×Áª¢5óšÍÔHĘ՘ã=]š‘©¢c.3ض3wó £;f5f`uU.*æ7zláv{1zÀ§ÞçÂW*m›…){Ùß#ýZÿË60˜Ù‚4¹Ï:¸óÔü‘eª¿u¦‰ÙÁ¶Ad£—¿*ÇnÌ·!+³I8Of“@&z}ä9,!°pKhjcælYIñø™
+VnfOJÝý¦“\ù+7âȨ³'’«YV~à`ŠÙD
+l<$ƒi>±qÙ&øæ8¦…dNa°}LSÚ³$í°Ó ÚP¬É¼çˆ^pMev1 ÕüªE¦ÚÜþ®ÅÛ×·ˆÃ̵eQ,Jß>p d~
+L*¸¶2§@Á¾=Þ?š3ÄðÕÄÜ÷ÒÔé¿¡\‡onì–%Ë (™¬³®Lfæ{J$ú:“›)érÓuíI)²×IÖ¤'§6¾õn\QCVö*<9‚pjâKãØÖb '6}acã驯µÂ‰Q_ÿXW=%´VA85òe’Ï’˜¾j×(×Ã÷®ØÖ(‹”ŸÆ…ï6gâºÃ˜L‹¾j’É‘ý<
+pm岯º´VB•;ê>’ë¾”´€< 0MåÊ?''çá@éG8téÃqµIêa¸ÚBŽµ¶\ý'ÁžVÿWTõ5åßìt2ä7G@œ!*äQm, nO ^™Œ 2€BUiµ,_¾ âA#lc™ pov‡+«³Ûc×Ý'{@`ϱznui:æ¦,ÌCòÎ(`¬P&¼P1¸á„
+ç‰*¸x`E‚… TðñøÉ
+V‚PÁ»òƒV‚P!dÉ
+ ÌF‚h ‚tâ3Ä9ñ]gm\Ÿ8›)ÉôŒU²Q$¦©ÌE²ÚÜ1Å×Ãóp€Š ™Š8