![]() | ![]() | ![]() |
| | |||||||
| Notices |
| Micro Controllers Discuss all aspects of micro controllers - building them, coding them, etc. All controllers are welcome - PIC, BASIC, Z8 Encore!, etc. |
| | LinkBack | Thread Tools | Display Modes |
| | (permalink (permalink)) |
| hi guys! Do you have an idea how exactly is Sony SIRC protocol implemented in original Sony devices? I am working on a project where complete data transfer between my own devices is based on Sony SIRC protocol (38 khz). The point is that I would like to know if there is anything that can be done to prevent my data colliding with Sony devices in the same room. I read nigel's articles about IR but I would need to know the exact Sony implementation so I could realize if there is a way to prevent this kind of collision. Have anyone of you already experienced a similar problem? Can you recommend any steps I should perform in order to solve this problem? thank you for any feedback, krompo | |
| | |
| | (permalink (permalink)) | |
| Quote:
It explains about SIRC's, and how it uses a 'device code' and a 'command code', all you have to do is alter the device code to one not used by your Sony equipment. The tutorial also lists all the Sony 'device codes' I had remotes for, so there are plenty of unused codes for you to choose from. The transmitter code also includes a number of 'command codes' in the source, although as long as the 'device code' is different it doesn't matter what 'command codes' you use. | ||
| | |
| | (permalink (permalink)) |
| Only the same devices cod have this problem.Since an TV will ignore an VCR comand.(And the other way round)Becose it sends for what type of device the signal is ment for along the data. But 2 TVs will get the signal.
__________________ Il give you shocking experience. | |
| | |
| | (permalink (permalink)) | |
| Quote:
I read your tutorial so I know what you are talking about. I understand how device code and command code are working. The point is that in my project I use SIRC protocol to transmit any kind of binary data (regular data transfer) from one PIC to another and therefore it is very probable that it will happen once upon a time (or quite often as well) that my data may look like pretty valid device + command code for any Sony device in the room - since any combination of bits may occur while transfering data in my project. The reason why I asked you for a very exact implementation of SIRC in original Sony devices is following: If I knew for sure that Sony uses the exact same algoritm as you are using in your tutorial, everything would be very simple for me. When you check for start bit, valid range for startbit is from 1.2 - 2.4 ms. If the pulse is longer than 2.4 ms it is error for you. Therefore if I would change in my project the length of startbit to 3 ms, my project would work fine and I wouldn't collide with your system since you wouldn't even start receiveing any data since you didn't get any valid start bit. The problem is that I don't know if in Sony devices they check for the upper limit of start bit as you are doing or, if the pulse is greater than 1.2 ms it is allways a startbit so if it would be 3 ms it would be a valid start bit as well. Is it possible to see what I mean? or, do you have a better approach how to handle this? krompo | ||
| | |
| | (permalink (permalink)) | |||
| Quote:
Quote:
Just do it the way the SIRC system is designed, include a device code that you don't already use in your house, why complicate something that doesn't need it?. | ||||
| | |
| | (permalink (permalink)) | |
| Quote:
But it seems a pointless change?, you would still have to change the routines to use 8 bits (assuming you want 8 bits?), so it wouldn't make less changes required - in fact it would require more changes, because you would have to rewrite the transmitter routines. | ||
| | |
| | (permalink (permalink)) | |
| Quote:
Everything is working fine this way but still I didn't try it yet to put my application in the same room with Sony devices. I will probably go to search a little bit and hope I will find an IR Receiver chip that is able to switch states about 200 - 300 us (my current chip is not faster as 400 us). If I find such a chip, I will try to make the project 2x faster by reducing the pulse times by a factor of 2 (so instead of 0.6/1.2/2.4 I would have 0.3/0.6/1.2) - do you think is that a way to go? krompo | ||
| | |
| | (permalink (permalink)) | |||
| Quote:
Quote:
| ||||
| | |