Image Map Image Map
Page 2 of 2 FirstFirst 12
Results 11 to 17 of 17

Thread: Open source flux reader/writer running on $2 bluepill board

  1. #11
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    32,483
    Blog Entries
    18

    Default

    Most earlier drives--and all 8" drives use 150 ohm pullups on their inputs. Assuming that the STM32F103 open-drain outputs do a good job, that's about 30 ma per active output. The datasheet says that 20 ma is the recommended max. A buffer translates the 3.3 logic leves to genuine 5V TTL ones and removes the load from the MCU. Just being cautious--and providing some leeway for longer drive lines.

    Ideally, you'd like another select output too, for operating dual- and combo-drive units.

  2. #12

    Default

    I think the drive/motor selects are on the cards. AFAIK we're very much in the alpha-zone of just getting the thing starting to work

    d.

  3. #13
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    32,483
    Blog Entries
    18

    Default

    Easy enough if the BP has a couple more 5V tolerant outputs. I haven't looked. Using a totem-pole output buffer eliminates the requirement for termination on the drive end--sometimes finding termination packs for older drives can be quite challenging. If you really really needed open-collector outputs, just swap the 74LS244 with a ''760 (same pinout) and Bob's your uncle.

    An any rate, my board is just about completely wired; I expect to do some testing on the weekend.

  4. #14

    Default

    I wonder what Kier is using for storage. The BP isn't a USB master. I've fiddled with SD cards ( staying with the smaller/older ones, some of the newer stuff may require voltage control ). I'm not dealing files. I create empty files on the PC and then just over write the data.
    There are some hang problems with some BPs initializing the onboard SPI port. There is an appnote that seems to have solved it and it works fine so far ( I had such hangs before ). It does need to be done in the right order ( one of the others on GitHub is doing it wrong and may not work for all ).
    Dwight

  5. #15
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    32,483
    Blog Entries
    18

    Default

    Take a look at the code--it's very simple. The BP functions as a USB cdcacm device, sampling is done with one of the onboard timers in capture mode, DMA-ing to SRAM. Samples are uploaded to the host via the USB port, where the analysis is performed. The 128K of program storage here is overkill.

    My 407-based reader stashes the sampling data on SD card and probably has enough program memory to decipher just about anything (half a meg and at this writing, not used for much). The USB port is used for commands and information only but can run at full-speed mode. The advantage of the 407 is that it has 196KB of SRAM (128K can be used for DMA), a faster clock and lots more timers. It also has an external 16Mb flash chip, which I haven't figured out a use for yet. There's a socket there for a WiFI module also and an on-chip LCD driver. About 40 5V-tolerant GPIOs. All for about $10-12, depending on the source.

    But I'm curious what can be accomplished with a blue pill's limited resources.
    Last edited by Chuck(G); November 8th, 2019 at 12:57 PM.

  6. #16

    Default

    As for the 150 ohm pullups, there is a specification for the total ground current for the STM32F1xx and STM32F4xx parts. Several 150 pullups at a time will likely exceed that value. These were really over kill when they were designed. Ribbon cable has an impedance of around 100+ ohms. If the wires were driven at higher speed, this would have been more of an issue. For short runs, I suspect 1K pullups would be fine. Most newer drives use active termination but older drive usually have some form of removable terminators so that several drives can be strung on a single cable.
    As was mentioned in the note, the outputs should be used as open drain and inputs as floating. Any terminators should be external.
    I use a BP as a PS2 keyboard to parallel keyboard with 1K pullups and have no issues.
    Dwight

  7. #17
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    32,483
    Blog Entries
    18

    Default

    That's why I decided to go with an external driver. In legacy controllers (that includes even specialized ones like the Catweasel), 7438 buffers are used on outputs. The other issue is that some of my oddball drive cables are more than a meter long. While the STM32F103 might be capable of sinking 150 ohm 5V terminated loads at the end of a long cable, I'd rather play it safe. A single 20 pin DIP is not a high price to pay and provides a certain amount of "snubbing".

    While I drive my HP 7970 tape drive directly with a STM32F470 without issues, I know the circuitry in the tape drive. The Pertec interface controller that I'm working on uses external TTL buffering because the lines are longer and they're 220+330 5V terminated in the drive. Given that there are more than 20 output lines, that also makes sense. Also, an external power supply--the terminators themselves account for something like 300 ma of current draw at 5V.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •