Keyboard Shortcuts
Likes
Search
Xcat 9000 Rev B
Hi Group!
I've rediscovered 1970 technology!? What did we do in the bad old days when there weren't enough pins on a package???? We MULTIPLEXED the address and data! By multiplexing A0-A7 with DB0-DB7 we get 6 MORE pins!? These additional pins make it possible to support Doug Hall, CI-V, and I2C! I've attached a new cut of a schematic for a possible Xcat for?the X9000. This project will only move forward if there's enough interest from?the group to make it worthwhile. Comments please! 73's Skip WB6YMH |
![]() MUX MAGIC! Huge interest here. You rock?Skip!? Cheers Sam KJ6QFS? On Fri, Aug 26, 2022 at 11:33 AM, Skip Hansen <skip@...> wrote: Hi Group! |
I am most definitely interested in the XCAT as well as the XCAT9000 Jeff kd6gdb On Fri, Aug 26, 2022 at 11:51 AM Sam Skolfield <kj6qfs@...> wrote:
-- Pursuant to U.S. Code, title 47, Chapter 5, Sub chapter II, ?227, "Any and all non solicited commercial E-mail sent to this address is subject to a download and archival fee of $500.00 U.S.". E-mailing denotes acceptance of these terms. |
Mux Genius!
toggle quoted message
Show quoted text
I am very interested in X9000. Has there been further discussion about how to interface data with outside world (outside the Personality Board RF can and radio itself)? Also a general sense of the development path to either a new control head or extension of X9000 control head to the new memory capabilities? or both? On Fri, Aug 26, 2022 at 02:33 PM, Skip Hansen wrote: X9000 |
We're doing everything out in the open in this group. There are no
toggle quoted message
Show quoted text
side discussions. Personally I'm not interested in a control head at the moment, but I'm happy to support anyone who is. Other than interest the other key ingredient is understanding the low level details of the code plug layout. Dennis, swguest and others have made some great progress but we're not there yet. I've tried sniffing the SB9600 bus, but RSS apparently uses address encryption while reading and writing the EEPROM so that's a dead end (for now). I've dumped my EPROM and I'm starting to try to figure out the code (more details in my github repo ). 73's Skip WB6YMH On Fri, Aug 26, 2022 at 12:32 PM RFI-EMI-GUY <rhyolite@...> wrote:
|
Would it be possible, and this coming from my exceedingly vast ignorance, while treating the XCAT9K as multiple code plugs and (for present) use the RSS to write to each codeplug image as a separate session and have XCAT9K control which codeplug image is presented to the radio?
toggle quoted message
Show quoted text
Then use SB9600 from the control head to step through the images as "zones"? The codes for the siren features could be hijacked for this purpose. Can some memory in the XCAT9K be reserved for future control head alphanumeric tags in the event some future control head project can make use of that data somehow? On Fri, Aug 26, 2022 at 04:33 PM, Skip Hansen wrote: We're doing everything out in the open in this group. There are no |
If I understand correctly from a hardware viewpoint that could be
toggle quoted message
Show quoted text
done. The Pico has 2 megabytes of flash, I'd be shocked if the firmware took more than 128k so there's plenty of space to save multiple 8K code plugs. Note that as currently designed the Xcat can't be written to by the radio, only read. So RSS won't be able to program the multiple images directly. Once we learn enough it should be possible to create the images independently of RSS. It is an outstanding question is if the EEPROM is ever written by the radio independently of RSS. If it is then we'll need to change the design. 73's Skip WB6YMH On Fri, Aug 26, 2022 at 4:24 PM RFI-EMI-GUY <rhyolite@...> wrote:
|
@ Skip
Just had a bit of time to take a look at your schematic. That's a lot of work and a colossal effort to maitain legacy functions...a labor of love for sure. I've made a bit more discovery on the codeplug PL data management...it is going to be a task to say the least to edit the PL data outside the RSS and maintain RSS compatibility. Hex editing codeplugs made by RSS? is doable but not a straight forward/valid option for many. ........More investigation needed. Anyway, to the schematic. Am I seeing it right? It looks like U3 and U4 /OE lines should be swapped? First, this is? presuming PlugRd = BufDirIn If not, then disregard the following and color me lost...lol It looks like while either of the 2816's /CE or /OE lines are high, the U4a gate output is low and the /OE for U3 (d0-d7) is enabled, and when the 2816's /CE AND /OE go low (read EEPROM) the U4a gate output goes high, releasing U3's /OE, and drives the U4b gate output low, selecting the U1 (a01-a7) /OE pin until the read cycle is finished. If that is right and those need swapping, might still have to give the Pico the actual read cycle req. so it can latch that addr before the 244's swap, otherwise it will look at what it considers the addr inputs "many times" during a single read event..and possibly retreive/present the wrong data?...... I'm thinking all the addr lines 244s should be enabled at the same time for a valid addr read by the Pico, then swap out the lower addrs lines and swap in the data lines for the final step of the read cycle. Also, I'm presuming that there is enough propagation delay in U4 to allow for the Hitachi's addr lines "settling time" so the Pico can get a valid addr read before the 244s swap to present the correct data on the data out port. I guess one could put the extra gate inline to add a bit more delay if needed and if so it would be enough. I have just perused the schematic, and this is all "mental/virtual/theoretical logic". I have not looked up settling time, propagation delay(s), or breadboarded anything with a logic analyzer. Those SMT are going to be the death of me...lol ?If I read the .pdf right, the pitch is right at 2:1 for SOIC and 4:1 for SSOP over thru hole. I'm going to have to get me a stack of BoBs and some cheap SOIC/TSOP/SSOP's to practice on. The new chip tech aint making it easy for us old farts with diminished vision to play anymore.? Sign of the times.... |
It looks like while either of the 2816's /CE or /OE lines are high, the U4a gate output is low and the /OE for U3 (d0-d7) is enabled, and when the 2816's /CE AND /OE go low (read EEPROM) the U4a gate output goes high, releasing U3's /OE, and drives the U4b gate output low, selecting the U1 (a01-a7) /OE pin until the read cycle is finished.A second set of eyes certainly helps, thanks for reviewing it! Actually the output from U4a goes ... NOWHERE! That thing that looks like a wire is a BUS and PlugRd is just one signal in the bus, but it's not connected anywhere. The same thing for U4b's inputs BufDirIn comes from the bus, but it is not driven from ANYWHERE! The intent is that U3A generates a read request to the processor which causes an interrupt. The processor sets BufDirIn low, disabling U1 (the address buffer) and enabling U3 (the data buffer). Once it has done that it changes GPIO8-GPIO15 from input mode to output mode. I'll fix it and post a new schematic. 73's Skip WB6YMH |
I've made a bit more discovery on the codeplug PL data> management...it is going to be a task to say the least to edit the PL > data outside the RSS and maintain RSS compatibility. Hex editing > codeplugs made by RSS is doable but not a straight forward/valid > option for many. I'm hoping the ROM will provide us with some clues about how the PL data is laid out. I've already seen it calculate a couple of offsets. De |
@ Skip,
Well I couldnt resolve the 2 different labels so I "connected" them myself to try to make it make sense...lol IIRC Eagle will complain if you have unconnected lines/labels. I *think* it will allow cross-connected labels but will issue an "Are you sure?" warning. It's been several years (a couple 'o three computers/HDDs ago) since I messed with it. I am familiar with the effort hence my "Labor of Love" comment. I always got a kick out of watching it do the PCB/Vias layout variants ...smart lil bugger...lol Yeah, I dont see any easy way to do any muxing with the Pico not knowing when to latch the requested address. If you slowed it down *some amount* and did something like "n samples = the same values then latch that addr value" but that would be some ugly/quirky code. Plus, it would still have to be faster than the read window so the 244's could swap and settle...just to save one lousy pin?..naaa I agree, use a GPIO to generate an IRQ, then let the state machine do it's thing is a much simpler method. |
@ Dennis, |
I'm still not out of ideas for work arounds, but if the codeplug is> to be extracted to be modified and re-inserted in the Pico, then > using the RSS will destroy the work around structure...so far. If RSS doesn't deal with cheating the number of entries higher, then there's serious doubt that the radio will do it reliably either. I'm not convinced it makes sense to try to force it. In the X, the primary PL/DPL setup is in the mode data, not elsewhere. The MPL setup does put stuff in other slots beyond the normal end of the mode data. Does the X9000 do this similarly? It has half again as much space devoted to the mode line. > I really think the future of codeplug editing is going to be via a > Java or VB runtime that can export a format that can be > (re)integrated into the Pico possibly as a secondary step. I can > provide structure/format information but writing such an application > is beyond my skillset. Language doesn't really matter. Generating proper bit patterns, and making the thing feasible for mortals to fly, is what matters. I'm sure a number of us are capable of generating software once we have the details of the bit patterns in hand. You seem to have worked out more of the layout than is written down anywhere. Any chance you could write that out in text form and share that? Anything you've already identified is something we don't have to reinvent. De |
Hi Group,
Here's another update to review. Changes: 1. Added pullup resistors on DH interface, thanks Dave! 2. Connected PlugRd and BufDirIn to processor, thanks swguest ! I've also updated the Wiki () and committed the changes. 73's Skip WB6YMH On Sun, Aug 28, 2022 at 6:36 PM swguest via groups.io <swguest@...> wrote:
|
Hi Group,
toggle quoted message
Show quoted text
I've added a new page to the github Wiki to consolidate our research here . I think I've set it up so it can be edited by anyone (you will need awi github account). The Groups WIKI is just too painful to use frequently. Additionally the github wiki is backed by a git repo so history is easily available. I spent a lot of time with the disassembler over the weekend and made a couple of happy discoveries! For one, memory access for the X900 does NOT use the address encryption feature of SB9600 that is used by the Spectra RSS. This makes life MUCH easier! I'm writing a script to dump the contents of a code plug image or .RDB file to test our findings. Currently it doesn't do much other than verify the checksum of the code plug and dump the number of active modes. I'm currently adding code to dump the Tx and Rx frequencies from the synthesizer programming bits that Dennis has already identified. You can find the script in the Xcat NG firmware repo () My goal is to write a simple script to program code plugs from .RDB files on a modern computer without screwing around with trying to slow down the computer. I went to the local Ham radio swap meet this weekend in search of X9000 cables and heads ... I came home empty handed. X9000s aren't very plentiful on ebay at the moment either and they haven't gotten any lighter with age! I'm keeping my eyes open. 73's Skip WB6YMH On Sun, Aug 28, 2022 at 8:37 PM Dennis Boone <drb@...> wrote:
|
@ Skip,
I'm making up a Digikey order list. I've got other non X9000 related stuff to get, so I figured to make one "complete as possible" order and save on shipping. I am presuming your KiCad files are general/draft at this point, and actual board design and layout is still undefined. The reason? I mention this is that the SN74LV244APW is a TSSOP package with a finer pitch over the pinout equivalant, wider pitched SN74LV244ADW in the SOIC package. At this pincount, density of the SOIC is 2x a PDIP, where the TSSOP is 4x the density of a PDIP package. There does not appear to be a PDIP equivalant for the SOIC packaged SN74LV02. LS yes, LV no. The SN65176BP appears to be a thru hole PDIP. I socket all PDIPs if possible. The BSS138 are SMT but the solder points are far enough apart and shouldnt be an issue either. The BS170 appears to be the thru hole equivelant but NA at Dighkey. Jameco has plenty but if that's all that was ordered, min shipping would not be worth it You didnt call out the Schottky feeding the VSYS but a thru hole device that may be usable is the 1N5820. The pullups and bypasses I'd like to see in thru hole as well. Also, did you intend to use a bypass cap on the SN65176BP? J3 appears to be a 2x6 IDC (male?) headr connector like/similar to the one used on the Xcat. Rather than task the original EEPROM socket's Vcc point with supplying the new assy, I would recommend a different feedpoint via a (1x2 or more) IDC connector dedicated and bypassed for power. Space permitting, the "or more" to be unused pins for potential future "flying connection" board interconnect(s). The 5v feed would be from a (TBD) source on the personality board via "flying lead(s)". Given the ability, I would also make the Pico "pluggable" on pins. If there is (ever) a problem, it would make for easier diagnostics, repair and/or replacement. The Pico's 133mhz clock may require sheilding/RF bypassing and being "on pins" may help to easily add this to the design if needed. So far Digikey has everything I as looking to order, but my list is not complete |
Hi Stan,
I actually have a new idea that I haven't shared yet. Hold off on everything other than the Pico for now. I don't have time to elaborate at the moment, my wife is waiting for me to go out. I'll have an update later. 73's Skip WB6YMH On Thu, Sep 8, 2022 at 1:05 PM swguest via groups.io <swguest@...> wrote:
|
@ Skip,
I'm intrigued. Fourtunately, I picked up a Pico to "stash" on an order previous to this project starting because it was an unbelievable deal. I plan to grab a few more on the next order "just because"...lol The balance of the order was for some DDS experimenting I've been thinking on for a while now too, so there's no rush to order for sure. Anyone who has had the XYL experience can attest "Happy wife, happy life" is not just an adage, it's gospel. It looks like Cali is slow to loosen it's grip so enjoy what you can where you can. From the time I began to dig in to what makes these things tick, I have thought about several hardware intensive additions and modifications, but they are well beyond a "Plug n Play" project most users would be interested in doing. I am looking forward to an update on what you've got in mind. |
Hi Stan, X9000 FW that we can control it STRICTLY over SB9600.? I no longer think we need to build a physical code plug replacement. What I am envisioning now is some C code that'll run on almost anything with a serial port and 3 GPIO lines wired to a RIB box.? I'll do a proof of concept on the Nano and others can port the code to Arduinos or whatever. The cheapish Chinese RIB clones on ebay come in a black plastic box which includes provisions for a 9 volt battery.? Interestingly the Raspberry Pi Nano is about the same size as a 9 volt battery and it fits nicely ! ? I am dying to get my test bench setup to start testing the concept. ?I just received my control head and it appears to work. Next I need to build a RIB cable and start wiring things up. I'll keep the group updated as things progress, stay tuned! 73's Skip WB6YMH On Fri, Sep 9, 2022 at 5:07 AM swguest via <swguest=[email protected]> wrote: @ Skip, |
@ Skip, |