Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
movax
Aug 30, 2008

Bloody posted:

we have good threads for software things but we don't have anywhere for hardware really so now we do

i know we got a lotta electrical engineers itf so lets talk about hardware

i mostly do like digital design and low-power microcontroller poo poo like msp430s n whatever

okay so the question that prompted this thread is like so usually when i wanna get bytes out of a computer into a thing i use like an ftdi usb-uart or similar. but what if i want to get data in/out faster?? how do i do like real usb or ethernet as painlessly as possible??

pcie

fpgas have hard ip for it and it's fast as hell

otherwise for usb, find a mcu that has a decent (lol) usb peripheral or get a ulpi usb xcvr and strap that to a fpga

ftdis are probably the most decent option, they have tons of poo poo they can do in silicon -- the ft2232 can do a ton of stuff with its mpsse (i2c, spi, jtag, etc)

Adbot
ADBOT LOVES YOU

movax
Aug 30, 2008

also avrs suck hth

movax
Aug 30, 2008

Bloody posted:

atmegas suck but xmegas are like lower-power more featured msp430s

personally i would de-feature msp430s out of existence, i hate the loving things (mostly the fram family) and documentation


Bloody posted:

pcie sounds cool as hell but hard like how the hell do i write a pcie driver or whatever on the pc side??

on linux or windows? linux pci subsystem isn't half bad, you can write a simple driver in a couple of minutes that'll say hello world upon detecting your device and expose bar0 via an ioctl for you to blink leds at 8Gb/s

movax
Aug 30, 2008

the only thing i'll really give the msp430 fram series is their power draw of like 1.2mA @ 10MHz at 3.3V, without trying to do any lpm poo poo

movax
Aug 30, 2008

Bloody posted:

yea debugging sounds stressful. i only really need like 10s of mbits per second so idk pcie feels overkill for that

physical layer you need a very expensive oscilloscope generally to confirm / track down SI issues

luckily, the channel is mostly built for you on a given motherboard -- if you're building an add-in card, don't gently caress up your short traces to the edge connector, match impedance and you're generally good

10s of mbits, either usb or ethernet i guess. probably usb.

or spi

movax
Aug 30, 2008

Bloody posted:

how do i spi from a pc :aaaaa:

i guess like ftdi modules have spi up to like 30mbits does that count

modern intel chipsets have a spi controller on them; no idea if you can do dma and such with them, but they exist. unfortunately, they're usually attached to the spi memory that holds your bios, so uh, i wouldn't use that. pretty sure the embedded chipsets though (for like industrial atom) have available spi controllers

yeah, you could do a ftdi part for spi, but at that point you may want to just make your device itself the usb endpoint. basically comes down to, integrate usb into your hardware, or interface with an external usb<->* bridge like the ftdi that could give you parallel, spi, etc

Illusive gently caress Man posted:

one time i soldered an atx 24 pin molex to a PCIE socket to try and power a piece of hardware without needing to shove it in a case. it didnt work.

oops


Bloody posted:

also atmel studio owns because it is visual studio

no iar or keil crap

i'll give you that, visual studio owns bones

movax
Aug 30, 2008

proto-advantage will not only sell you a breakout board, you can tell them what chip you want and they will assemble it for you

movax
Aug 30, 2008

Sagebrush posted:

yeah it's nothing about soldering it by hand it's that i literally have been too lazy to get the breakouts because i have a bunch of DIP attinys sitting around and tbh i kinda like making dead-bug circuits

the only good bug is a dead bug

movax
Aug 30, 2008

ChiralCondensate posted:

I (in a team with others) janitor these bits:

the cms forward pixel detector

:frogon:

movax
Aug 30, 2008

z0rlandi viSSer posted:

lmfao who gives a poo poo as long as it works

this isn't the 1970's and we have cycles to fukkn spare like woah

Nah man every cycle counts

I finished a FPGA design lately where I had to essentially pick and choose and place each primitive by hand. a more painful asic

movax
Aug 30, 2008

eschaton posted:

I'm hoping my miniSpartan 6+ LX ships soon, I should start hacking together a VHDL description of NuBus for it

I ordered it because it had both a ton of GPIO and HDMI out, my goal is to make a video card for my Mac IIci that can handle 1920x1080. I'll be able to connect it almost directly to the NuBus, just adding bidirectional level conversion, and everything else can be done in "software"

:hfive: spartan bro

gonna do some hdmi overlay type stuff with mine though -- i hope the signal integrity isn't terrible on the board, most kickstarters suck rear end at laying out pcbs and fall over in the transition from maker fun toy to actual product

actual quote from a maker i ran into: 'controlled impedance? what's that?' (board had ddr3, usb, ethernet, hdmi) last i heard they were suffering 'difficulties' getting kickstarter stuff sorted

movax
Aug 30, 2008

Bloody posted:

Yeah but only if by decent you mean expensive and horribly complex

Or at least expensive

Actually I'm not sure if it's expensive but the igloo nano dev kit is pretty cute and painless. Digilent (I think?) makes some decent educational stuff too iirc

igloo nano is good, i'm using that dev board to prototype for real stuff

digilent makes good altera dev boards, the bemicro sdk is a good dev board as well that just plugs right into a usb plug, has a cyclone iv on it

for xilinx spartan 6s are the little ones, a kickstarter just finished for the miniSpartan which might be OK. the zynq is pretty legit, you can get get the avnet zedboard and make your own custom linux machine which is legit

all of those options are around like $100-$200 i think

movax
Aug 30, 2008

Mido posted:

are there x86 core MCUs that have the same kind of features as say a Kinetis K60 series? I've never looked

the Kinetis is a monster with a fuckload of peripherals and gating options for power consumption and a pretty good cross bar thing that reduces contention when peripherals are doing DMA

the embedded stuff (atom, etc) comes closest, but even then, iirc its just multiple dies inside and the pch has all the peripherals -- x86 cores interface to any/all peripherals over pcie or dmi

one of the intel guys in the thread will probably correct me on that

movax
Aug 30, 2008

Blotto Skorzany posted:

can you give me a litany of complaints about them, the fr57xx is one of the chips in consideration for a design i'll be working on in a couple of months

sw dude complaints:
- lovely toolchain (ccs, mspgcc, gcc-msp430), iar wasn't considered because it's windows only
- lovely docs
- weird-rear end isa (certain operations very expensive like bit shifts :laugh:) also forget about doing intensive math

hw (my) complaints:
- lovely docs
- weird pinouts sometimes
- fr5969 has funky errata relating to leakage currents on certain pins
- weird rear end fram memory controller timings that changed from stepping to stepping
- took them six steppings to get release silicon out which is mildly terrifying
- you will need a reset supervisor or otherwise clean reset source, code will corrupt in brownout conditions (the SVS module on the frxxxx parts for some reason is slightly different than other msps)

the fr57xx series is older and their first go at the whole fram thing; new designs i'd check out the fr5989, if you can get it (i bought the first batches out of the factory)

like i said though, i'll give them props for the absurdly low power consumption and fram reliability

movax
Aug 30, 2008

eschaton posted:

how many gates would an FPGA reasonably need to support to emulate a Lisp Machine CPU?

like first-gen, the CADR/Lambda/TI Explorer

the low-end parts from altera or xilinx should be able to do it easy (spartan-6, artix-7, cyclone iv or cyclone v) -- there was a recent kickstarter for a spartan6 devboard which would work, or check out digilent's de-0 or de-1

i didn't see what cpu the machines used on wiki, but for 1980s vintage, i don't think you're running out of gates anytime soon.

movax
Aug 30, 2008

kwinkles posted:

i haven't really played around with it too much but i think the quark will have the old FSB architecture and the edison board that has silvermont cores will be the faster and lower power option. i know silvermont has the same IDI interface to the system agent that the big cores have now, and most of the stuff that is on-die will be hanging right off the system agent with IOSF or the intel memory requestor busses.

i know the galileo board has some of the GPIOs hanging off the north complex and some hanging off the south complex because i see the function for fastGpioDigigalRead that I am using calls two functions with NC or SC in the name depending on which pin I am writing to, and the NC and SC appear to be on-die in the quark because the pins go right from the quark to a level shifter. i dont really know what is going on on-die tho.

yeah gailelo (whichever one came first) is the og pentium cores on a newer process. do either of those new boards expose gpios via io space? seems like a no-brainer place to put some i/o for x86 so you can just outb() inb() all day long

just stay away from outb(0xf5, 0xb2) (probably not a problem on those guys though)

movax
Aug 30, 2008

eschaton posted:

the Lisp Machines used custom CPUs specifically designed for ease of Lisp implementation. (which isn't the same as "running Lisp in hardware" as some people claim.) they also had writable microcode, so the lowest-level operations could be made as fast as possible

the CADR emulator and Explorer emulator codebases provide C implementations that could probably be used to author some VHDL with effort, the main thing I'm wondering is if I'd get partway through and find out that lol, my Spartan 6 won't have anywhere near enough gates

I suppose since the original systems were literally a few square feet of 7400-series chips I should be able to estimate the gate count from that (hell, even just based on physical density)

ahh, i see -- i still don't think you'd have a problem with the larger gate count spartan / cyclone devices, sounds like an interesting project though (especially to re from the existing emulators). wonder what the original were clocked at

movax
Aug 30, 2008

i'd be surprised if either the nexys-3 (spartan 6) or nexys-4 (artix 7) wouldn't be enough -- hopefully you can get academic pricing

microsemi's a low cost option but i think you'd need the igloo2 to fit everything

movax
Aug 30, 2008

Blotto Skorzany posted:

thanks! i'll keep this stuff in mind, esp. the need for a separate voltage watchdog and the toolchain concerns. the ISA stuff is kind of worrying too.

FRAM is great for a lot of the stuff we do, and me + one of the EEs started looking at the TI FRAM msp's with an eye toward reducing bom. we've got a pair of ramtron standalone 128k fram chips on a product we just launched, and back during testing i was unable to induce failure in our emc lab even at 30 V/m in any direction. i was miffed at the time because it meant i didn't have a real test of the ecc code i had written and had to settle for mocking up various failures, but it's a testament to how hardy the stuff is

what i might pitch is using the msp430 as a sort of coprocessor for datalogging and calibration data storage (a glorified replacement for a standalone fram chip and rtc) and using somebody else's cortex m4f as the main micro, although having two chips on the board that need to be programmed is either expensive or an expensive pia depending on whether we have it programmed by future/whoever or program it when it gets here

cypress fm25vxx series? i'm using those as well, sadly no one makes fram larger than 2mbit.

you could always try borrowing time on a linac to really try and induce failures, but fram is radiation-resistant, so...

sw complaint/tip:
- rtc peripheral on the 5989/6989 is more useful than the one on 5969

oh, i loving forgot (i can't believe this):
hw complaint:
- msp430 is not jtag compliant. at all. you cannot put it into a chain with other devices. if it's in a chain, it must be the first and only device. the hw responds to any jtag access with a fixed id based on revision of silicion, and you have to twiddle TEST with microsecond timing to put the part into jtag mode. or you can use spi-by-wire which again is not compliant with anything
- silicon bsl is uart-based mostly unless you're lucky and can actually purchase the one with an i2c bsl

so keep that in mind since you're designing an actual product that will need end-of-line testing / possible field upgrades

movax
Aug 30, 2008

Werthog 95 posted:

so if i wanted to make my own, what's the hip good microcontroller for making usb adapters (that doesn't require me to use TI's lovely loving dev environment)

pic :getin:

serious answer: whichever micro someone's already used (assuming it isn't loving horrible) to do something similar since that will save you time and effort unless you don't care about that

movax
Aug 30, 2008

Blotto Skorzany posted:

fm24vxx series, the i2c part instead of the spi one. i hope cypress doesn't do something lovely with the ramtron product line (not that ramtron was an especially well-run company before the buyout). i've also tried to get some samples of mram which is another promising tech but everspin doesn't want to play ball without a much higher potential volume than i could ever guesstimate with a clean conscience

also lol at the jtag stuff w/ the msp430.

cypress guys are alright, they just revved the fm25xx parts so i assume they cleaned up the process somewhat. seem to want to support the parts for awhile yet -- what sucks is that the commercial programmer they recommend is $1k, so i had to write my own because gently caress that noise

movax
Aug 30, 2008

longview posted:

workin on a little radio project with a PIC24FJ128GA204 right now, 44-pin QFN, 16-bit, up to 96 MHz clock, 3 SPI, 2 I2C, 4 UARTs, most functions are remappable which is new compared to the PIC18s i've used before (thought that was still a high end DSP feature)

its nice to have a real SPI controller instead of a glorified shift register, 128-byte fifos on tx and rx and DMA in case i need even more buffering, perfect for my application where the main function is manipulating a low speed serial stream (reclocking + inserting data at start/end)

12-bit AD instead of the standard 10-bit is also an improvement, and 40nA deep sleep consumption

a consultant at work said to try kicad so trying that now, it's pretty easy to use for CAD software, not as good as Allegro at schematics but very easy to draw symbols, haven't tried the PCB layout yet but it's probably just as terrible as commercial software

the remappable pins are sick as hell, love them on the pic24s. i think the only ones that can't really move around crazy like are i2c because you need a specific i/o cell for that

another thing i love about pics is that you can program hosed up fuse (config bit) settings and assuming you didn't accidentally set a security fuse, you can fix that with no special programmer (i.e. still isp). avrs are like 'gently caress you, high-voltage time'

movax
Aug 30, 2008

DuckConference posted:

been working with one of analog device's fattest audio DPSs (adsp-214xx) for over a year, as many complaints as I have about the libraries and support, the chip and IDE are pretty legit

at one point I rewrote a parsing routine for some encoded audio in assembly* and was proud of how many cycles it saved, until I made the same algorithmic improvements in the C code and added some compiler hints and welp the compiler beat me by a few cycles per iteration on the inner loop

*because I was a freaking nose-hair away from having enough mips for worst case

it's like you've never seen the 1984 documentary film 'the terminator', the machines will eventually kill us all

movax
Aug 30, 2008

Blotto Skorzany posted:

what do y'all use for lab notebooks? i've been using national computation books but they don't lay flat and tend to fray/dogear more than i like

vela workings makes good poo poo; i had work buy a shitload of the series-a2 and series-a2b

movax
Aug 30, 2008

zedboard's probably the best, and its bsp doesn't blow (if you want a zynq anyway)

otherwise check digilent

movax
Aug 30, 2008

sund posted:

coworker heard i liked jigsaw puzzles and brought me some sweet vendor swag


i have that one, it's fuckin' rad


Blotto Skorzany posted:

one of the new super-SARs, or have you been saddled with the builtin adc on a psoc?

ltc and ad have solid high-end adcs, complete with giant $$$ tag

movax
Aug 30, 2008

Olivil posted:

it that jim williams's desktop^

yep

movax
Aug 30, 2008

Iirc they shrink wrapped and protected his desk

the turbo encabulator is buried in it, never to be seen

movax
Aug 30, 2008

Sagebrush posted:

is the EEVblog guy on youtube good or is he a wacko? I watched some of his reviews of oscilloscopes and he seems to know what he's talking about, but he also sounds like he's just about to go off the rails, and I can't tell if he actually is or if it's just, his, infuriating, breathy, australian, ACCENT???

and some of the stuff i don't know how much stock to put in. like when he says multimeters that use glass fuses are "unsafe garbage", i'd never heard that before. maybe for a lineman sure but for a hobbyist poking at lvdc?

he's a cool dude generally, he does that full time and loves the hell out of what he does

movax
Aug 30, 2008

Jonny 290 posted:

godfuckingly fast opamps and components

every trace carefully laid out for min inductance and crosstalk

basically as close as you can get to manipulating the supernatural

agilent fabs their own frontend components on an InP process for their 90000 series, 32ghz of true analog bandwidth (that's the 5th harmonic of 12.5Gb/s and third of 21)

movax
Aug 30, 2008

and the probe tips are ceramic and break really easily, which is sad because they're really goddamned expensive

movax
Aug 30, 2008

Tin Gang posted:

also while testing junk I realized the old adjustable dc power supply I have is rated for up to 6 amps :eyepop:

apply it to your nipples

movax
Aug 30, 2008

bobbilljim posted:

what do you call a decorative component on your 'board?

a tchotchke diode!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

movax
Aug 30, 2008

All this talk of clock speed, and no mention of edge rate

10Mhz tells you the period of the signal, doesn't tell you poo poo about the edge rate of the signal; if you've got some shiny new parts driving 10mhz on a tiny rear end process, you could have near sub-ns rise times, which is a frequency much higher than 10mhz

here's a good explanation: http://www.freelists.org/post/si-list/3dB-or-Knee-Frequency,3

Si-list is legit, even if it's sometimes full of grey beard fights, but these guys design 100G+ telecom backplanes, so I listen

movax
Aug 30, 2008

fritz posted:

it's going to have power @ all frequencies?

and so this:


means that channel effects come in and act as a filter that needs to be dealt with?

it's hard for us to make perfect square waves in nature (impossibru), so in reality the edges do have non-infinite slope. smaller, faster transistors can drive these edges incredibly fast compared to larger, slower transistors from last decade

ill try to sketch something when I'm back home

movax
Aug 30, 2008

Sagebrush posted:

nah they were yellow. sparkfun switched to red after that incident.

they put up a blog post too iirc where they played the hurt victim and tried to shame/guilt fluke for you know, trying to enforce their poo poo. Fluke ended up sending them some real ones though.

I've got a 8 year old 87 III, it owns bones. i don't remember what the 87 v adds over it (just a TC input I think)

movax
Aug 30, 2008

longview posted:

Anyway you should all get the Keysight U1272B or better instead of Flukes, I don't care for the Fluke 289, it's slow to power up and the menu system involves a lot of navigation to get to common modes.

this thread reminded me i don't know that much about fluke's lineup of dmms (i've just always used the 87 iii since i was a wee intern), and that higher model #s don't mean better

the 287 and 289 seemed 'better' than the 87, but i got the vibe that they were clunkier to use menu-wise -- the 87 you just clunk the knob to whatever and probe things like 1 second afterward; thanks for confirming that vibe

the 179 seems ok, but it looks like the 87 v retails for like $350, which for something that has a lifetime warranty and will last at least a decade, if not more, is a loving steal

basically, this thread should go get $350 and buy a 87 v

movax
Aug 30, 2008

hobbesmaster posted:

so when you have a file which is literally called "raw binary file" you should just stream it bit by bit into a flash to be loaded later right

wrong! its actually the wrong endianness!

thanks altera

they don't have a sync word like 0xAA995566 from xilinx land?

i miss altera a little bit

movax
Aug 30, 2008

eschaton posted:

are there any examples you can point to of good or bad Verilog, VHDL, and so on?

also, do the Xilinx tools work in win8 yet? or are they "reasonable" on linux? I don't have a win7 system handy.

fpga tooling on linux is only good for running headless builds imo; if you need to use the gui at all, stick with windows. linux is a second-class citizen (as it should be)

Adbot
ADBOT LOVES YOU

movax
Aug 30, 2008

sund posted:

i cut my vacation short a day to assist with some qualification testing that we ultimately failed and spent two weeks poring through code and manuals, staying late making one off builds that i knew didn't make sense just to satisfy someone else's theories and pestering support engineers at another company to figure out why their product was flaking out when we were trying to using it. finally stole the scope from the hardware department today and found out the power bus drops half a volt below the absolute minimum voltage required for the flaky part when it performs a certain operation. three people assuring me it was rock solid and double checked, while hinting that i was probably toggling a non-existent reset line.

i want a raise.

loving up (non-exotic) power supplies is inexcusable in my book

you have to basically ignore your datasheet entirely, or have dumb-rear end system-level requirements

  • Locked thread