[Tex/LaTex] Drawing this diagram in Tikz

tikz-pgf

enter image description here

I'm trying to draw above image. What I've got so far is:

enter image description here

Not very close. I'm struggling in leveling outer box and first box and also drawing arrows. I'm not sure when I'm anchoring to north, why would there be so much mis-match. Code is below:

\begin{figure}
\centering
\begin{tikzpicture}[scale=2]
  \node [draw=black,rotate=90,anchor=north,minimum width=3cm,minimum height=0.75cm] (io) {I/O interface};
  \node [draw=black,minimum width=3cm,minimum height=0.75cm, right =1cm of io] (io2) {SSD System};
  \node [draw=black,minimum width=3cm,minimum height=0.75cm, below =0.32cm of io2] (io3) {Fuzzy Logic ACC};
  \draw[red,thick,dotted] ($(io2.north west)+(-0.1,0.22)$)  rectangle ($(io3.south east)+(0.1,-0.22)$);
\end{tikzpicture}
\end{figure} 

Any help, suggestions or ideas would be appreciated. Thank you!

EDIT:
With Kevin's answer I'm able to make good progress, this is what I've got so far. I got somewhat arrows drawn, now I need to figure out how to make text and put labels beside I/O interface.

:enter image description here

Best Answer

I would place the io node relative to the io2-io3 block. This way, io can be vertically centered relative to the other two nodes.

Code

\documentclass[border=2pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning,calc}

\begin{document}
\begin{tikzpicture}[scale=2]
  \tikzset{
    box/.style={draw=black,minimum width=3cm,minimum height=.75cm},
    >=latex,
  }
  \node(io2)[box]{SSD System};
  \node(io3)[box,below=.32cm of io2]{Fuzzy Logic ACC};
  \draw[red,thick,dotted] ($(io2.north west)+(-0.1,0.22)$) rectangle ($(io3.south east)+(0.1,-0.22)$);  
  \coordinate(mid left)at($(io2.west)!.5!(io3.west)$);
  \node(io)[box,rotate=90,left=1cm of mid left,anchor=center]{I/O interface};

  % drawing arrows
  \path(io.south west)--(io.south east) coordinate[pos=.33](x1) coordinate[pos=.67](x2);
  \draw[->](x2)--+(.2,0);
  \draw[<-](x1)--+(.2,0);

  \path(io2.south west)--(io2.south east) coordinate[pos=.33](y1) coordinate[pos=.67](y2);
  \draw[->](y1)--+(0,-.15);
  \draw[<-](y2)--+(0,-.15);

  \path(io.north east)--(io.north west) coordinate[pos=.2](z1) coordinate[pos=.4](z2) coordinate[pos=.6](z3) coordinate[pos=.8](z4);
  \draw[<-](z1)--+(-.5,0) node[anchor=east]{Distance Sensor};
  \draw[<-](z2)--+(-.5,0) node[anchor=east]{Video Input};
  \draw[<-](z3)--+(-.5,0) node[anchor=east]{Set Speed Limit};
  \draw[->](z4)--+(-.5,0) node[anchor=east]{Factored Acceleration};
\end{tikzpicture}
\end{document}

Output

enter image description here

Related Question