interrupt synchronized with clock to avoid missing ISR calls which the block the IC

This commit is contained in:
helmut.neemann 2016-12-15 11:41:52 +01:00
parent 0c7aea59e0
commit a9979e3210
2 changed files with 111 additions and 80 deletions

View File

@ -323,6 +323,10 @@ gespeichert.</string>
<string>Input Splitting</string>
<string>16</string>
</entry>
<entry>
<string>isHighZ</string>
<boolean>true</boolean>
</entry>
<entry>
<string>Output Splitting</string>
<string>1,1,1,13</string>
@ -348,16 +352,6 @@ gespeichert.</string>
</elementAttributes>
<pos x="-100" y="380"/>
</visualElement>
<visualElement>
<elementName>PullDown</elementName>
<elementAttributes>
<entry>
<string>Bits</string>
<int>16</int>
</entry>
</elementAttributes>
<pos x="-40" y="340"/>
</visualElement>
</visualElements>
<wires>
<wire>
@ -374,10 +368,6 @@ gespeichert.</string>
</wire>
<wire>
<p1 x="-60" y="320"/>
<p2 x="-40" y="320"/>
</wire>
<wire>
<p1 x="-40" y="320"/>
<p2 x="-20" y="320"/>
</wire>
<wire>
@ -572,10 +562,6 @@ gespeichert.</string>
<p1 x="100" y="240"/>
<p2 x="100" y="260"/>
</wire>
<wire>
<p1 x="-40" y="320"/>
<p2 x="-40" y="340"/>
</wire>
<wire>
<p1 x="40" y="240"/>
<p2 x="40" y="340"/>

View File

@ -35,7 +35,7 @@ erneut Interrupts ausgelöst werden können.</string>
<int>16</int>
</entry>
</elementAttributes>
<pos x="300" y="360"/>
<pos x="180" y="340"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
@ -53,7 +53,7 @@ erneut Interrupts ausgelöst werden können.</string>
<int>16</int>
</entry>
</elementAttributes>
<pos x="760" y="260"/>
<pos x="720" y="260"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
@ -67,7 +67,7 @@ erneut Interrupts ausgelöst werden können.</string>
<string>ioR</string>
</entry>
</elementAttributes>
<pos x="300" y="420"/>
<pos x="180" y="400"/>
</visualElement>
<visualElement>
<elementName>And</elementName>
@ -77,7 +77,7 @@ erneut Interrupts ausgelöst werden können.</string>
<int>5</int>
</entry>
</elementAttributes>
<pos x="400" y="100"/>
<pos x="400" y="80"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
@ -91,7 +91,7 @@ erneut Interrupts ausgelöst werden können.</string>
<string>C</string>
</entry>
</elementAttributes>
<pos x="300" y="280"/>
<pos x="180" y="280"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
@ -109,7 +109,7 @@ erneut Interrupts ausgelöst werden können.</string>
<int>16</int>
</entry>
</elementAttributes>
<pos x="300" y="240"/>
<pos x="180" y="240"/>
</visualElement>
<visualElement>
<elementName>Register</elementName>
@ -147,7 +147,7 @@ erneut Interrupts ausgelöst werden können.</string>
<visualElement>
<elementName>Not</elementName>
<elementAttributes/>
<pos x="340" y="160"/>
<pos x="300" y="140"/>
</visualElement>
<visualElement>
<elementName>Out</elementName>
@ -161,7 +161,7 @@ erneut Interrupts ausgelöst werden können.</string>
<string>iEn</string>
</entry>
</elementAttributes>
<pos x="760" y="140"/>
<pos x="720" y="120"/>
</visualElement>
<visualElement>
<elementName>Comparator</elementName>
@ -171,7 +171,7 @@ erneut Interrupts ausgelöst werden können.</string>
<int>16</int>
</entry>
</elementAttributes>
<pos x="420" y="360"/>
<pos x="340" y="340"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
@ -186,7 +186,7 @@ Wenn gesetzt, wird Interrupt verhindert.</string>
<string>imm</string>
</entry>
</elementAttributes>
<pos x="300" y="160"/>
<pos x="180" y="140"/>
</visualElement>
<visualElement>
<elementName>Const</elementName>
@ -196,7 +196,7 @@ Wenn gesetzt, wird Interrupt verhindert.</string>
<int>16</int>
</entry>
</elementAttributes>
<pos x="400" y="380"/>
<pos x="320" y="360"/>
</visualElement>
<visualElement>
<elementName>Driver</elementName>
@ -210,12 +210,12 @@ Wenn gesetzt, wird Interrupt verhindert.</string>
<boolean>true</boolean>
</entry>
</elementAttributes>
<pos x="680" y="260"/>
<pos x="660" y="260"/>
</visualElement>
<visualElement>
<elementName>And</elementName>
<elementAttributes/>
<pos x="560" y="380"/>
<pos x="480" y="360"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
@ -235,7 +235,7 @@ Wenn gesetzt, wird Interrupt verhindert.</string>
<visualElement>
<elementName>Not</elementName>
<elementAttributes/>
<pos x="340" y="180"/>
<pos x="300" y="160"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
@ -250,12 +250,12 @@ Wenn gesetzt, wird Interrupt verhindert.</string>
<string>rel</string>
</entry>
</elementAttributes>
<pos x="180" y="140"/>
<pos x="180" y="100"/>
</visualElement>
<visualElement>
<elementName>Not</elementName>
<elementAttributes/>
<pos x="340" y="140"/>
<pos x="300" y="120"/>
</visualElement>
<visualElement>
<elementName>In</elementName>
@ -269,7 +269,12 @@ Wenn gesetzt, wird Interrupt verhindert.</string>
<string>intr</string>
</entry>
</elementAttributes>
<pos x="300" y="120"/>
<pos x="180" y="40"/>
</visualElement>
<visualElement>
<elementName>And</elementName>
<elementAttributes/>
<pos x="260" y="40"/>
</visualElement>
</visualElements>
<wires>
@ -278,11 +283,11 @@ Wenn gesetzt, wird Interrupt verhindert.</string>
<p2 x="480" y="0"/>
</wire>
<wire>
<p1 x="300" y="160"/>
<p2 x="340" y="160"/>
<p1 x="200" y="160"/>
<p2 x="300" y="160"/>
</wire>
<wire>
<p1 x="380" y="160"/>
<p1 x="340" y="160"/>
<p2 x="400" y="160"/>
</wire>
<wire>
@ -291,11 +296,11 @@ Wenn gesetzt, wird Interrupt verhindert.</string>
</wire>
<wire>
<p1 x="580" y="260"/>
<p2 x="660" y="260"/>
<p2 x="640" y="260"/>
</wire>
<wire>
<p1 x="700" y="260"/>
<p2 x="760" y="260"/>
<p1 x="680" y="260"/>
<p2 x="720" y="260"/>
</wire>
<wire>
<p1 x="460" y="260"/>
@ -306,88 +311,108 @@ Wenn gesetzt, wird Interrupt verhindert.</string>
<p2 x="520" y="260"/>
</wire>
<wire>
<p1 x="360" y="100"/>
<p1 x="340" y="100"/>
<p2 x="400" y="100"/>
</wire>
<wire>
<p1 x="300" y="420"/>
<p2 x="560" y="420"/>
<p1 x="180" y="100"/>
<p2 x="200" y="100"/>
</wire>
<wire>
<p1 x="460" y="-40"/>
<p2 x="640" y="-40"/>
<p2 x="620" y="-40"/>
</wire>
<wire>
<p1 x="300" y="360"/>
<p2 x="420" y="360"/>
<p1 x="320" y="360"/>
<p2 x="340" y="360"/>
</wire>
<wire>
<p1 x="460" y="140"/>
<p2 x="480" y="140"/>
<p1 x="400" y="360"/>
<p2 x="480" y="360"/>
</wire>
<wire>
<p1 x="180" y="40"/>
<p2 x="260" y="40"/>
</wire>
<wire>
<p1 x="180" y="140"/>
<p2 x="340" y="140"/>
<p2 x="300" y="140"/>
</wire>
<wire>
<p1 x="380" y="140"/>
<p1 x="340" y="140"/>
<p2 x="400" y="140"/>
</wire>
<wire>
<p1 x="480" y="140"/>
<p2 x="760" y="140"/>
<p1 x="360" y="80"/>
<p2 x="400" y="80"/>
</wire>
<wire>
<p1 x="620" y="400"/>
<p2 x="640" y="400"/>
<p1 x="240" y="80"/>
<p2 x="260" y="80"/>
</wire>
<wire>
<p1 x="640" y="400"/>
<p2 x="680" y="400"/>
<p1 x="180" y="400"/>
<p2 x="480" y="400"/>
</wire>
<wire>
<p1 x="300" y="240"/>
<p1 x="180" y="240"/>
<p2 x="520" y="240"/>
</wire>
<wire>
<p1 x="360" y="-20"/>
<p2 x="400" y="-20"/>
</wire>
<wire>
<p1 x="460" y="-20"/>
<p2 x="500" y="-20"/>
</wire>
<wire>
<p1 x="380" y="180"/>
<p2 x="400" y="180"/>
<p1 x="360" y="-20"/>
<p2 x="400" y="-20"/>
</wire>
<wire>
<p1 x="180" y="180"/>
<p2 x="340" y="180"/>
<p2 x="200" y="180"/>
</wire>
<wire>
<p1 x="300" y="120"/>
<p1 x="180" y="340"/>
<p2 x="340" y="340"/>
</wire>
<wire>
<p1 x="200" y="120"/>
<p2 x="300" y="120"/>
</wire>
<wire>
<p1 x="460" y="120"/>
<p2 x="480" y="120"/>
</wire>
<wire>
<p1 x="340" y="120"/>
<p2 x="400" y="120"/>
</wire>
<wire>
<p1 x="300" y="280"/>
<p2 x="400" y="280"/>
<p1 x="480" y="120"/>
<p2 x="720" y="120"/>
</wire>
<wire>
<p1 x="180" y="280"/>
<p2 x="240" y="280"/>
</wire>
<wire>
<p1 x="480" y="280"/>
<p2 x="520" y="280"/>
</wire>
<wire>
<p1 x="400" y="380"/>
<p2 x="420" y="380"/>
<p1 x="240" y="280"/>
<p2 x="400" y="280"/>
</wire>
<wire>
<p1 x="480" y="380"/>
<p2 x="560" y="380"/>
<p1 x="320" y="60"/>
<p2 x="340" y="60"/>
</wire>
<wire>
<p1 x="640" y="-40"/>
<p2 x="640" y="400"/>
<p1 x="540" y="380"/>
<p2 x="620" y="380"/>
</wire>
<wire>
<p1 x="620" y="380"/>
<p2 x="660" y="380"/>
</wire>
<wire>
<p1 x="400" y="260"/>
@ -395,23 +420,43 @@ Wenn gesetzt, wird Interrupt verhindert.</string>
</wire>
<wire>
<p1 x="480" y="0"/>
<p2 x="480" y="140"/>
<p2 x="480" y="120"/>
</wire>
<wire>
<p1 x="480" y="140"/>
<p1 x="480" y="120"/>
<p2 x="480" y="280"/>
</wire>
<wire>
<p1 x="240" y="80"/>
<p2 x="240" y="280"/>
</wire>
<wire>
<p1 x="340" y="60"/>
<p2 x="340" y="100"/>
</wire>
<wire>
<p1 x="500" y="-20"/>
<p2 x="500" y="260"/>
</wire>
<wire>
<p1 x="360" y="-20"/>
<p2 x="360" y="100"/>
<p1 x="660" y="280"/>
<p2 x="660" y="380"/>
</wire>
<wire>
<p1 x="680" y="280"/>
<p2 x="680" y="400"/>
<p1 x="360" y="-20"/>
<p2 x="360" y="80"/>
</wire>
<wire>
<p1 x="200" y="100"/>
<p2 x="200" y="120"/>
</wire>
<wire>
<p1 x="200" y="160"/>
<p2 x="200" y="180"/>
</wire>
<wire>
<p1 x="620" y="-40"/>
<p2 x="620" y="380"/>
</wire>
</wires>
</circuit>