회로를 설계하고 있는데 궁굼한 사항이 있어 이렇게 질문을 올립니다.
MAX232와 FZ750BX를 사용하여 PC-AVR간 지그비통신을 하려고 합니다.
현재 만들어져있는 PCB는 AVR의 RX, TX신호를 MAX232를 통해 펌핑되어진 상태로 출력이 되고있습니다.
이걸 PC에 연결하여 데이터를 주고 받는데 이를 지그비를 이용하여 무선통신을 하려고 합니다.
만들어져 있는 PCB를 수정하지 않고 하기 위해서, 지그비 모듈인 FZ750BX앞에 MAX232를 달아서 연결을 하려고 합니다.
여기서 문제가 되는것이
MAX232같은 경우 5V로 동작을 하며 PC의 RS-232신호를 5V의 RX, TX신호로 바꿔주는데
FZ750BX같은 경우 3.3V로 동작을 하며 3.3V의 RX, TX신호를 사용합니다.
FZ750BX를 구동시키기 위해서 5V전원을 저항을 사용해 전압분해하여 3V~3.5V정도로 구동하는데는 별 무리 없을것 같는데...
중요한 5V의 TTL신호를 3.3V의 TTL신호로(이게 맞는 표현일지는 잘 모르겠네요..ㅠㅠ)바꿔줘야 될꺼 같습니다.
질문 1.
FZ750BX의 TX신호는 3.3V가 나오는데 MAX232이를 지나면 5V TX 신호를 통과한 것과 같은 RS-232 TX신호가 나올까요???
나온다고 하면 FZ750BX의 TX신호를 바로 MAX232에 물리면 되겠지만...그렇지 않다면 어떻게하는게 좋을까요..??
질문2.
RS-232의 RX신호를 MAX232를 거쳐 5V의 RX신호가 나오게 됩니다. 이를 FZ750BX에 쓰기 위해선 3.3V로 맞춰줘야 하는데...
저항을 사용하여 전압분배를 하는게 좋을까요??
아니면 다이오드 2개를 사용하여 약 1.4V정도를 전압강하시키고, 3.6V의 신호를 인가하는게 좋을까요??
아니면 다른 방법이 있을까요??
주저리 주저리 많이 썼습니다..ㅠㅠ
긴글 읽어주셔서 감사드리고..
부디 좋은방법좀 알려주세요..ㅠㅠ
RS232(PC에서는 COM PORT) 신호는 그라운드 기준으로 ±12V입니다.
개발보드의 RS232 트랜시버를 3.3V대응 모델 사용하시면 될것같습니다.
제가 이해하기에는..
pc<-->rs232chip----실선----rs232chip<-->avr로 통신하고 있는데..//당연히 일반적인 rs232c통신//
이걸
pc<->rs232chip<->fz750bx<->지...그...비(무선)...<->fz750bx<->rs232chip<->avr이런 구성이지 않을까요?
즉 pc와 avr를 실선(rs232c)으로 통신하는 것을 중간에 지~그~비를 두어서 무선통신 하실려는 거지요?
여기서 실재로는 구성상 별 문제는 없지만,하드웨어 인터페이스시 fz750bx가 3.3V로 되어 있어서 기타 5V를 사용하는
rs232chip과의 문제가 될 것으로 이해합니다.
먼저
당연한 이야기지만..
여기서 rs232chip는 제거해도 된다고 생각합니다.rs232c<->지그비모듈 <<-이게 둘다 통신하드웨어 규정인데 중복이지요?
혹 원가다운을 생각한다면,무조건 rs232c를 빼야합니다.
현재는 부득이 빼지 못할 사정이 있어서(무조건 써야한다는 제약조건?이 있어서..)
회로를 구성하다보니..
rs232c<->지그비모듈의 인터페이스문제 즉 5V<->3.3V의 신호처리 문제가 발생이 되었습니다.
좀..서술이 길었지만..
질문1)fz750bx tx(3.3v)-->max232(t1in,혹은t2in)??
>>max232 스펙을 보니까 t1in,t2in의 VIH=2V,VIL=0.8V이라서..
0~3.3V로 출력하는 지그비의 출력을 max232가 아주~잘~인식할 거 같습니다.
질문2)max232(r1out,혹은r2out)(5V)<->fz750bx rx(3.3V 입력?) 그냥 될까요?
>>이런 경우는 극단적으로 생각해보면,,,
fz750bx 입력에 만약 100V의 펄스가 들어오면 어케 될까요?
무조건 탄다(burn),
chip이 죽는다(die),
폭발한다(explosion)등등입니다.
어쩧든 당연히 동작을 안하거나, 못하겠죠?ㅎㅎㅎ
그러나 애매하게 3.5V,4.0V,5.0V등의 아리까리한 전압의 펄스가 들어오면 어떻게 되겠습니까?
이때는 바로 현상이 나타나지 않습니다.
입력을 받아들이는 chip이 얼마간 버틸수도 있고,조용히 혹은 갑자기 죽을수도(dead) 있습니다.
아니면 장시간 골골대며 동작을 했다가 안했다가 반복하면서 헷갈리게 할 수도 있습니다.
즉 동작이 잘 되고 있는지?언제 죽을지?안죽고 죽~버틸지? 판단이 되질 않습니다.
말은 거창하게?했는데 해결은 아주 간단합니다.ㅎㅎ
1.다이오드2개직렬(1.2~1.4V드롭예상)+풀다운저항1개 = 총 예상가격 11*2+1*1=23원.
2.드롭저항1개+풀다운저항1개 = 총 예상가격 1*2=2원
그런데 혹 다이오드를 많이 갖고 계셔서 다이오드를 무조건 써야 한다면 당연히 다이오드로 구성하시는 편이 유리합니다.^^
위 두가지 방식으로 해 봤는데,뭔 이유인지 잘 모르지만 잘 안된다면?
질문1)의 경우에는 3.3V출력->5.0V인식인데 3.3V->5.0V용 인터페이스 칩을 사용하시고,(fet로 구성이 가능합니다.원하시면 회로를 올리겠습니다)
질문2)는 그냥 저항 두개,혹은 다이오드2개,저항하나로 드롭시켜서 3.3V에 맞게 사용하십시요.
즉
1.인터페이스에서 낮은 입력전압의 펄스를(3.3V펄스-->5.0V입력회로) 받아들일때는 동작의 신뢰성을 크게 얻을 수 없으나..
동작이 된다면 그냥 그걸로 만족해도 되지만,기타 환경요인이 변하면 동작이 안될 수도 있습니다.(실험은 할 수 있으나,상품화에서는 필히 고려해야
합니다)
2.인터페이스에서 높은 입력전압의 펄스를(5.0V펄스-->3.3V입력회로) 받아들일때는 위와 같은 이유로 인터페이스시 신중해야 하겠습니다.
대부분 여러가지 현상이 나타나서,판단하는데 헷갈리게 합니다. 필히 정상적인(다이오드2개+저항1개,저항2개)회로를 구성해서 인터페이스해야 합니다.
저도 글을 작성 하다보니 헷갈려서 다시 작성을 했는데..혹 도움이 조금 되었을런지요?ㅎㅎㅎ
신뢰성 있고 성공적인 지그비 통신이 되길 바랍니다.^^
그런데 지그비 모듈은 얼마에 구입할 수 있습니까?