Ed Carpenter wins Firestone 600