Jag jobbar med ett projekt där jag använder en FPGA och ansluter den till flera servor (kallas AX-12), som är anslutna i en kedjekedja. Varje servo har ett unikt ID så att de är anslutna i en kedjekedja är inte ett problem. FPGA överför kommandon till servorna och därefter svarar servorna genom att sända sina egna paket (kallas ett statuspaket, enligt databladet). Jag vill fokusera på svarsdelen i denna fråga.
"CM-5" som du ser på bilden ersätts av FPGA i mitt projekt.
Enligt databladet ( som du hittar här):
För att manövrera Dynamixel-ställdonen måste huvudstyrenheten stödja TTL-nivå halv duplex UART.
För huvudkontrollen 'Jag använder ett DE2-utvärderingskort av Altera (senare kommer att ersättas av DE0-Nano). Kortets utgångar för '1' är 3,3 V. Medan 3.3V fungerar för TTL fick jag reda på att servorna svarar bättre när de får 5V.
För att göra detta använder jag denna nivåförskjutningskrets:
Så för överföringsdelen är allt bra. FPGA matar ut '1' som 3,3 V och servon tar emot den som 5 V, vilket är bra.
Min fråga handlar om spänningen när jag tar emot paketen från servorna. Jag antar (har inte kontrollerat) att servorna överför statuspaketbitarna i 5V. Får nivåväxlingskretsen 5V och flyttar den tillbaka till 3,3V? Och 0V till uppenbarligen 0V? Om så är fallet, hur fungerar det?
Om du tittar i databladet ser du att tillverkaren säger att du ska använda en buffert med ett uppdragningsmotstånd till 5V. Jag har försökt använda den bufferten och det gick inte så bra. Så vad jag också frågar är, kommer den nivåförskjutningskretsen att användas som buffert?
Tack!