hej igen.
Jag har nu byggt min första variant av min logikbaserade pic-programmerare, fungerar, men har ett par små egenheter jag inte riktigt trivs med.
Ritning
http://postimage.org/image/ad47lyw05/full/
Skillnaden på min krets och ritningen är att det sitter 100 nf keramisk kondensator på VDD bredvid varje IC.
Den är inkopplad på serieporten via en Max232, och en bc547b för att ha 3 signaler från datorn, samt en till datorn.
huvuddelen är ett 4015 skiftregister, varav segment 2 är en räknare, och segment 1 tar emot data 1 bit i taget från DTR, medan TX används som klocka.
När räknaren når 4, inaktiveras klocksignalen till segment 1, med en AND-gate som går ut inverterad från räknaren, vid 5 aktiveras en 4076 som sparar värdet, och 6 resettar segment 2.
RTS från datorn är OR-kopplad med resetsignalen från räknaren (för att kunna resetta så att all data är nollställd vid uppstart)
RTS styr även huruvida klocksignalen ska gå vidare till pic-processorn eller inte. när skiftregistren är aktiva, går inte klocksignalen till pic-kretsen som ska programmeras.
Problemet:
Om jag ändrar datalinjen med klockan/TX låg, så klockas segment 2/räknaren 2 steg av någon anledning. Allt är kopplat precis som på ritningen, och fungerar utan problem i simulatorn (proteus). Har jag missat något i min ritning, eller är det något med serieporten jag missat? Jag kan koda runt problemet i styrprogrammet, men vill hellre göra det så att det fungerar utan hacks.
Mvh
Fredrik
Edit:
Provade att flytta om alla signaler, Använder jag TX som data, och DTR som klocka istället så verkar kretsen fungera stabilt, Antar att detta har något antingen med hur serieporten fungerar, min budgetadapter från Clas Ohlson eller något annat, osäker på vad. men ska fortsätta testa och se vad jag kommer fram till.
Skickar ingen data via TX förresten, utan använder commbreak.
