From 5e8fc21a11646965c1c9c7bab2e1183c4ee33035 Mon Sep 17 00:00:00 2001 From: sebastian Date: Tue, 18 Oct 2011 14:23:23 +0200 Subject: [PATCH] Added docs --- doc/doc.html | 132 +++++++++ doc/photo.jpg | Bin 0 -> 75166 bytes doc/ringlock_idea.png | Bin 0 -> 17203 bytes doc/ringlock_idea.svg | 393 +++++++++++++++++++++++++ doc/ringlock_test.png | Bin 0 -> 18558 bytes doc/ringlock_test.svg | 314 ++++++++++++++++++++ doc/test.ols | 670 ++++++++++++++++++++++++++++++++++++++++++ doc/test.png | Bin 0 -> 8064 bytes doc/test_short.png | Bin 0 -> 6693 bytes include/ringlock.c | 2 +- include/ringlock.h | 2 +- main.c | 8 +- 12 files changed, 1513 insertions(+), 8 deletions(-) create mode 100644 doc/doc.html create mode 100644 doc/photo.jpg create mode 100644 doc/ringlock_idea.png create mode 100644 doc/ringlock_idea.svg create mode 100644 doc/ringlock_test.png create mode 100644 doc/ringlock_test.svg create mode 100644 doc/test.ols create mode 100644 doc/test.png create mode 100644 doc/test_short.png diff --git a/doc/doc.html b/doc/doc.html new file mode 100644 index 0000000..8cdd701 --- /dev/null +++ b/doc/doc.html @@ -0,0 +1,132 @@ + + +RingLock for AVR Microcontrollers + + + +

RingLock

+

How it started

+After reading about PIClock4 +a inter-microcontroller mutex on dangerousprototypes.com, +I got curious about the actual implementation.
+It uses shift registers to pass a token in form of just a single bit around.
+Once the token arrives at a mcu that needs access to the resource, the mcu can stop the shifting.
+After having done whatever it needs the resource for, it can start the shifting again.
+Unfortunately the schematic files were down, so I had to ask for them.
+The marker of piclock told me that his project was just for fun and never intended for actual usage.
+Because of the huge amount of logic chips needed he suggested rather using a arduino/atmega328 to emulate the hardware in software.
+That's what got me thinking initially.
+Using a 32k flash mcu to emulate 9 logic ics, sounded terribly wasteful to me.
+First idea : I could use a Attiny instead.
+Advantages : I would not waste that much flash space.
+Disadvantage : Attinys have only few IO-pins and therefore the amount of mcus that can be attached to the lock is limited.
+
+So I was looking for a solution that allows a huge number of mcus, while needing no/not much additional hardware.
+At some point I got reminded of token ring networks, something I've never seen myself,
+because it's a rather old technique and at least for computer networks totally replaced by Ethernet.
+It's basic ideas is that the hosts pass a token from one to the next in a ring like topology.
+Once a host gets a token he is allowed to attach data to it while passing it on.
+This is very similar to the bit that gets shifted around in the piclock system,
+but it does not require a central piece of hardware controlling the whole process.
+That sounded just like the thing I wanted.
+
+After googling for a while I found a few implementations for token passing on microcontrollers,
+but the majority of them were integrated in other projects and designed for a single usage scenario.
+At that point I started experimenting with an own implementation.
+It had easily configurable for different AVR mcus and applicable to various scenarios where multiple mcus access the same resource.
+
+ +It's important to notice that I don't claim this to be a full featured library.
+Let's be honest, there not even enough lines of code to call this a program.
+I rather wanted to present the idea behind it, as well as providing a little reference implementation.
+So just think of this as a request for comments.
+
+ +

How it works

+The basic idea is to implement a decentralized token passing mechanism,
+allowing multiple mcus to share access to a resource like some kind of memory, a sensor or a communication interface of some kind.
+Each mcu has one of its IO Pins connected to the external interrupt pin e.g. INT0 of the next mcu.
+The last mcu in this chain has one of its IOs connected to the interrupt pin of the first one.
+This results in a ring topology as shown below.
+
+ +
+When everything is powered up somebody has to have the token and the access initially.
+I called this special mcu master.
+It does whatever it needs to do with the resource and then pulls his IO-pin (called PYX in the drawing) high for 1us.
+Slave 1 will get interrupted because of the rising signal at his INT0.
+In his ISR he will check whether the rest of his program has requested access to the resource.
+This is done by simply checking a flag. If the flag is not set it will pass the token to slave 2 immediately in his ISR.
+Otherwise it will set a flag, signalling the program that it can now access the resource and leave the ISR.
+It's now up to the program to work with the shared resource for a while and to pass on the token.
+The next mcus will do exactly the same thing and the token will circulate in the ring infinitely.
+
+At least theory.
+In praxis you'll sooner or later lose the token, simply because of murphys law.
+Imagine a mcu crashes, there is a power failure or a bad connection.
+Having lost the token, the system will get stuck since no one is allowed to access the shared resource.
+Every mcu waits for the token, that will never arrive.
+That's the point where a time out might come handy.
+Using a timer of the master mcu it's easy to implement one.
+The timer gets reset every time the master gets the token back from the last mcu in the ring.
+If the token doesn't arrive in time, the master assumes that it was lost and pretends to have the token.
+The new token will be passed on and everything is hopefully working again.
+Still there is one pitfall in this approach, the timeout has to be chosen carefully.
+If the master sends a new token while another is still on the ring, to mcu will try to work with the resource,
+which is in fact the situation we are trying to avoid using lock.
+The best idea is to use a timeout that is at least 1,5 times as long, as the longest time a token need back to the master.
+
+ +

How to use it

+There are two ways of getting the source code :
+
    +
  1. Get the tarball here
  2. +
  3. Clone the hg repository: hg clone hg repo url here
  4. +
+
+Once you got the source, you'll want to adjust the configuration in include/ringlock.h.
+The config is documented there and changing it should be pretty straight forward.
+
+Using the makefile is a bit more complex then the usual make all.
+There are some variables that need to be set :
+ +So if you want to build a slave for an Atmega8 with 8mHz call make ROLE=slave AVRMCU=atmega8 F_CPU=8000000 all.
+Currently the source only supports Atmega32 as master or slave and Atmega8 as slave.
+This can be changed by extending the configs in include/ringlock.h.
+Once you have added a new mcu, it would be nice to send me patch so I can add it to the source.
+
+Using the ringlock in your source code is simple, it boils down to 4 functions :
+ + +

Example

+Since this was a solution to which I didn't have a Problem I made one up :
+One ATmega32 (Master) and one Atmega8 (Slave) share the TXD line of a RS232 connection.
+I used the OpenBench LogicSniffer to measure the signals.
+
+ +
+
+The and gate was in a HCF4081.
+If you set the TXD of the passive mcu to high-Z you won't need it, but I wanted the unmixed signals as well.
+The program used in this test is bundled with the sourcecode as main.c.
+
+Here are all the signals in the jawis OLS client:
+ +
+and a photo of my setup :
+
+
+
+So that's all so far.
+Have fun with this stuff and please don't waste an entire Atmega32 on locks.
+ + diff --git a/doc/photo.jpg b/doc/photo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5774d8e2745a0186711aaaea02e21a30027e9814 GIT binary patch literal 75166 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 + + + + + + + + + + + image/svg+xml + + + + + + + Openbench Logicsniffer + Master + + + MCU0 + INT0 + PYX + + + + + + MCU1 + INT0 + PYX + + + + + + MCU2 + INT0 + PYX + + + + + + MCUn + INT0 + PYX + + + + + Slave 1 + Slave 2 + Slave n + + + + + + + + + diff --git a/doc/ringlock_test.png b/doc/ringlock_test.png new file mode 100644 index 0000000000000000000000000000000000000000..e2acdeaf215ded8caaacf959419ac5f3ed038a37 GIT binary patch literal 18558 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 literal 0 HcmV?d00001 diff --git a/doc/ringlock_test.svg b/doc/ringlock_test.svg new file mode 100644 index 0000000..0abaa6c --- /dev/null +++ b/doc/ringlock_test.svg @@ -0,0 +1,314 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + Atmega8 + + INT0 + TXD + PYX + + + + + + Atmega32 + + INT0 + TXD + PYX + + + + + + + + + + + + + + + Openbench Logicsniffer + + + + + + + diff --git a/doc/test.ols b/doc/test.ols new file mode 100644 index 0000000..6a755cc --- /dev/null +++ b/doc/test.ols @@ -0,0 +1,670 @@ +;Size: 662 +;Rate: 20000000 +;Channels: 32 +;EnabledChannels: 255 +;TriggerPosition: 7208 +;Compressed: true +;AbsoluteLength: 1223475 +;CursorEnabled: false +00000010@0 +00000018@7209 +0000001c@7210 +00000014@9240 +00000010@9241 +00000018@11270 +0000001c@11271 +0000001e@18207 +0000001c@18226 +0000000c@18539 +00000008@18540 +00000018@20568 +0000001c@20569 +0000000c@22598 +00000008@22599 +0000001c@32747 +0000000c@34776 +00000008@34777 +00000018@36806 +0000001c@36807 +0000001d@43740 +0000001c@43759 +00000014@43890 +00000010@43891 +00000018@47952 +0000001c@47953 +00000014@49983 +00000010@49984 +00000018@58106 +0000001c@58107 +00000014@60137 +00000010@60138 +00000018@62168 +0000001c@62169 +0000001e@69107 +0000001c@69126 +0000000c@69410 +00000008@69411 +00000018@71440 +0000001c@71441 +0000000c@73470 +00000008@73471 +00000018@83618 +0000001c@83619 +0000000c@85648 +00000008@85649 +00000018@87677 +0000001c@87678 +0000001d@94616 +0000001c@94635 +00000014@94788 +00000010@94789 +00000018@98850 +0000001c@98851 +00000014@100881 +00000010@100882 +00000018@109005 +0000001c@109006 +00000014@111036 +00000010@111037 +00000018@113067 +0000001c@113068 +0000001e@120006 +0000001c@120026 +0000000c@120282 +00000008@120283 +00000018@122312 +0000001c@122313 +0000000c@124341 +00000008@124343 +00000018@134490 +0000001c@134491 +0000000c@136519 +00000008@136521 +00000018@138549 +0000001c@138550 +0000001d@145483 +0000001c@145502 +00000014@145689 +00000010@145690 +00000018@149751 +0000001c@149752 +00000014@151782 +00000010@151783 +00000018@159907 +0000001c@159908 +00000014@161938 +00000010@161939 +00000018@163969 +0000001c@163970 +0000001e@170908 +0000001c@170928 +0000000c@171281 +00000008@171282 +00000018@173310 +0000001c@173311 +0000000c@175340 +00000008@175341 +00000018@185488 +0000001c@185489 +0000000c@187518 +00000008@187519 +00000018@189548 +0000001c@189549 +0000001d@196481 +0000001c@196501 +00000014@196718 +00000010@196719 +00000018@200780 +0000001c@200781 +00000014@202811 +00000010@202812 +00000018@210935 +0000001c@210936 +00000014@212966 +00000010@212967 +00000018@214997 +0000001c@214998 +0000001e@221936 +0000001c@221956 +0000000c@222279 +00000008@222280 +00000018@224309 +0000001c@224310 +0000000c@226338 +00000008@226340 +00000018@236487 +0000001c@236488 +0000000c@238516 +00000008@238518 +00000018@240546 +0000001c@240547 +0000001d@247480 +0000001c@247499 +00000014@247618 +00000010@247619 +00000018@251680 +0000001c@251681 +00000014@253711 +00000010@253712 +00000018@261835 +0000001c@261836 +00000014@263865 +00000010@263867 +00000018@265896 +0000001c@265897 +0000001e@272836 +0000001c@272855 +0000000c@273151 +00000008@273152 +00000018@275180 +0000001c@275181 +0000000c@277210 +00000008@277211 +00000018@287358 +0000001c@287359 +0000000c@289388 +00000008@289389 +00000018@291417 +0000001c@291418 +0000001d@298351 +0000001c@298371 +00000014@298517 +00000010@298518 +00000018@302579 +0000001c@302580 +00000014@304610 +00000010@304611 +00000018@312734 +0000001c@312735 +00000014@314765 +00000010@314766 +00000018@316796 +0000001c@316797 +0000001e@323732 +0000001c@323752 +0000000c@324022 +00000008@324023 +00000018@326052 +0000001c@326053 +0000000c@328082 +00000008@328083 +00000018@338230 +0000001c@338231 +0000000c@340259 +00000008@340260 +00000018@342289 +0000001c@342290 +0000001d@349225 +0000001c@349245 +00000014@349416 +00000010@349417 +0000001c@353478 +00000014@355508 +00000010@355510 +00000018@363632 +0000001c@363633 +00000014@365663 +00000010@365664 +00000018@367694 +0000001c@367695 +0000001e@374633 +0000001c@374652 +0000000c@374893 +00000008@374895 +00000018@376923 +0000001c@376924 +0000000c@378953 +00000008@378954 +00000018@389101 +0000001c@389102 +0000000c@391131 +00000008@391132 +0000001c@393161 +0000001d@400094 +0000001c@400114 +00000014@400314 +00000010@400315 +00000018@404376 +0000001c@404377 +00000014@406406 +00000010@406408 +00000018@414530 +0000001c@414531 +00000014@416561 +00000010@416562 +00000018@418592 +0000001c@418593 +0000001e@425533 +0000001c@425553 +0000000c@425892 +00000008@425893 +00000018@427922 +0000001c@427923 +0000000c@429951 +00000008@429952 +0000001c@440100 +0000000c@442129 +00000008@442130 +00000018@444159 +0000001c@444160 +0000001d@451098 +0000001c@451117 +00000014@451339 +00000010@451340 +00000018@455401 +0000001c@455402 +00000014@457431 +00000010@457433 +00000018@465555 +0000001c@465556 +00000014@467586 +00000010@467587 +00000018@469617 +0000001c@469618 +0000001e@476558 +0000001c@476578 +0000000c@476890 +00000008@476891 +00000018@478920 +0000001c@478921 +0000000c@480950 +00000008@480951 +00000018@491098 +0000001c@491099 +0000000c@493128 +00000008@493129 +00000018@495157 +0000001c@495158 +0000001d@502096 +0000001c@502115 +00000014@502237 +00000010@502238 +00000018@506299 +0000001c@506300 +00000014@508330 +00000010@508331 +00000018@516454 +0000001c@516455 +00000014@518485 +00000010@518486 +00000018@520516 +0000001c@520517 +0000001e@527453 +0000001c@527473 +0000000c@527762 +00000008@527763 +00000018@529791 +0000001c@529792 +0000000c@531821 +00000008@531822 +00000018@541969 +0000001c@541970 +0000000c@543999 +00000008@544000 +0000001c@546029 +0000001d@552967 +0000001c@552987 +00000014@553138 +00000010@553139 +00000018@557200 +0000001c@557201 +00000014@559231 +00000010@559232 +00000018@567355 +0000001c@567356 +00000014@569386 +00000010@569387 +00000018@571417 +0000001c@571418 +0000001e@578354 +0000001c@578374 +0000000c@578633 +00000008@578634 +0000001c@580663 +0000000c@582692 +00000008@582693 +00000018@592840 +0000001c@592841 +0000000c@594870 +00000008@594871 +00000018@596900 +0000001c@596901 +0000001d@603833 +0000001c@603853 +00000014@604039 +00000010@604040 +00000018@608101 +0000001c@608102 +00000014@610131 +00000010@610133 +0000001c@618256 +00000014@620286 +00000010@620288 +00000018@622317 +0000001c@622318 +0000001e@629259 +0000001c@629279 +0000000c@629631 +00000008@629632 +00000018@631661 +0000001c@631662 +0000000c@633691 +00000008@633692 +00000018@643839 +0000001c@643840 +0000000c@645868 +00000008@645869 +00000018@647898 +0000001c@647899 +0000001d@654831 +0000001c@654851 +00000014@655065 +00000010@655066 +00000018@659126 +0000001c@659127 +00000014@661157 +00000010@661158 +00000018@669281 +0000001c@669282 +00000014@671312 +00000010@671313 +00000018@673343 +0000001c@673344 +0000001e@680284 +0000001c@680304 +0000000c@680629 +00000008@680630 +0000001c@682659 +0000000c@684688 +00000008@684689 +0000001c@694837 +0000000c@696866 +00000008@696867 +00000018@698896 +0000001c@698897 +0000001d@705830 +0000001c@705849 +00000014@705963 +00000010@705964 +00000018@710025 +0000001c@710026 +00000014@712056 +00000010@712057 +00000018@720180 +0000001c@720181 +00000014@722210 +00000010@722212 +00000018@724241 +0000001c@724242 +0000001e@731183 +0000001c@731202 +0000000c@731501 +00000008@731502 +00000018@733530 +0000001c@733531 +0000000c@735560 +00000008@735561 +00000018@745708 +0000001c@745709 +0000000c@747738 +00000008@747739 +00000018@749767 +0000001c@749768 +0000001d@756704 +0000001c@756723 +00000014@756861 +00000010@756862 +00000018@760923 +0000001c@760924 +00000014@762954 +00000010@762955 +00000018@771078 +0000001c@771079 +00000014@773108 +00000010@773110 +00000018@775139 +0000001c@775140 +0000001e@782078 +0000001c@782098 +0000000c@782372 +00000008@782373 +00000018@784401 +0000001c@784402 +0000000c@786431 +00000008@786432 +00000018@796579 +0000001c@796580 +0000000c@798609 +00000008@798610 +00000018@800639 +0000001c@800640 +0000001d@807573 +0000001c@807592 +00000014@807759 +00000010@807760 +0000001c@811821 +00000014@813851 +00000010@813853 +00000018@821975 +0000001c@821976 +00000014@824006 +00000010@824007 +00000018@826037 +0000001c@826038 +0000001e@832978 +0000001c@832998 +0000000c@833243 +00000008@833245 +00000018@835273 +0000001c@835274 +0000000c@837303 +00000008@837304 +00000018@847451 +0000001c@847452 +0000000c@849481 +00000008@849482 +00000018@851510 +0000001c@851511 +0000001d@858449 +0000001c@858468 +00000014@858657 +00000010@858658 +00000018@862719 +0000001c@862720 +00000014@864749 +00000010@864751 +00000018@872873 +0000001c@872874 +00000014@874904 +00000010@874905 +00000018@876935 +0000001c@876936 +0000001e@883876 +0000001c@883896 +0000000c@884242 +00000008@884243 +00000018@886271 +0000001c@886272 +0000000c@888301 +00000008@888302 +00000018@898449 +0000001c@898450 +0000000c@900479 +00000008@900480 +00000018@902508 +0000001c@902509 +0000001d@909447 +0000001c@909467 +00000014@909682 +00000010@909683 +00000018@913744 +0000001c@913745 +00000014@915775 +00000010@915776 +00000018@923899 +0000001c@923900 +00000014@925930 +00000010@925931 +00000018@927961 +0000001c@927962 +0000001e@934903 +0000001c@934923 +0000000c@935240 +00000008@935241 +00000018@937269 +0000001c@937270 +0000000c@939299 +00000008@939300 +00000018@949447 +0000001c@949448 +0000000c@951477 +00000008@951478 +00000018@953507 +0000001c@953508 +0000001d@960445 +0000001c@960465 +00000014@960583 +00000010@960584 +00000018@964645 +0000001c@964646 +00000014@966676 +00000010@966677 +00000018@974800 +0000001c@974801 +00000014@976831 +00000010@976832 +00000018@978862 +0000001c@978863 +0000001e@985803 +0000001c@985823 +0000000c@986111 +00000008@986112 +00000018@988141 +0000001c@988142 +0000000c@990171 +00000008@990172 +00000018@1000319 +0000001c@1000320 +0000000c@1002348 +00000008@1002350 +00000018@1004378 +0000001c@1004379 +0000001d@1011317 +0000001c@1011336 +00000014@1011483 +00000010@1011484 +00000018@1015545 +0000001c@1015546 +00000014@1017576 +00000010@1017577 +00000018@1025700 +0000001c@1025701 +00000014@1027731 +00000010@1027732 +00000018@1029762 +0000001c@1029763 +0000001e@1036703 +0000001c@1036723 +0000000c@1036982 +00000008@1036983 +00000018@1039012 +0000001c@1039013 +0000000c@1041042 +00000008@1041043 +00000018@1051190 +0000001c@1051191 +0000000c@1053219 +00000008@1053221 +00000018@1055249 +0000001c@1055250 +0000001d@1062183 +0000001c@1062202 +00000014@1062383 +00000010@1062384 +00000018@1066445 +0000001c@1066446 +00000014@1068476 +00000010@1068477 +00000018@1076600 +0000001c@1076601 +00000014@1078631 +00000010@1078632 +0000001c@1080662 +0000001e@1087601 +0000001c@1087620 +0000000c@1087981 +00000008@1087982 +00000018@1090010 +0000001c@1090011 +0000000c@1092040 +00000008@1092041 +00000018@1102188 +0000001c@1102189 +0000000c@1104218 +00000008@1104219 +00000018@1106247 +0000001c@1106248 +0000001d@1113181 +0000001c@1113201 +00000014@1113408 +00000010@1113410 +00000018@1117470 +0000001c@1117471 +00000014@1119501 +00000010@1119502 +00000018@1127625 +0000001c@1127626 +00000014@1129655 +00000010@1129657 +00000018@1131686 +0000001c@1131687 +0000001e@1138623 +0000001c@1138642 +0000000c@1138979 +00000008@1138980 +00000018@1141008 +0000001c@1141009 +0000000c@1143038 +00000008@1143039 +00000018@1153186 +0000001c@1153187 +0000000c@1155216 +00000008@1155217 +00000018@1157245 +0000001c@1157246 +0000001d@1164182 +0000001c@1164201 +00000014@1164306 +00000010@1164307 +00000018@1168368 +0000001c@1168369 +00000014@1170399 +00000010@1170400 +00000018@1178522 +0000001c@1178523 +00000014@1180553 +00000010@1180554 +00000018@1182584 +0000001c@1182585 +0000001e@1189525 +0000001c@1189545 +0000000c@1189850 +00000008@1189852 +00000018@1191880 +0000001c@1191881 +0000000c@1193910 +00000008@1193911 +00000018@1204058 +0000001c@1204059 +0000000c@1206088 +00000008@1206089 +00000018@1208118 +0000001c@1208119 +0000001d@1215056 +0000001c@1215076 +00000014@1215204 +00000010@1215205 +00000018@1219266 +0000001c@1219267 +00000014@1221296 +00000010@1221298 diff --git a/doc/test.png b/doc/test.png new file mode 100644 index 0000000000000000000000000000000000000000..d335738e7e8df73bfae912af51a540355978e71a GIT binary patch literal 8064 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 Qx*?EjTDqD=m#rTB7i>JdEC2ui literal 0 HcmV?d00001 diff --git a/doc/test_short.png b/doc/test_short.png new file mode 100644 index 0000000000000000000000000000000000000000..b64b431024259a19c2735e1d4be3bdeaaea616ee GIT binary patch literal 6693 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